Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Performance optimization and comment fixes for the LIKE and GLOB operators. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
c89d772628564a808173f6f73bc1798e |
User & Date: | drh 2015-06-17 13:20:54.580 |
Context
2015-06-17
| ||
17:08 | Fix a uninitialized variable use in the command-line shell when the ".open" command is invoked without any arguments. (check-in: fc4f4d1ecc user: drh tags: trunk) | |
13:20 | Performance optimization and comment fixes for the LIKE and GLOB operators. (check-in: c89d772628 user: drh tags: trunk) | |
02:11 | Make getCellInfo() a real function instead of a macro, for a size reduction and a 0.2% performance gain. (check-in: 55c393ea14 user: drh tags: trunk) | |
Changes
Changes to src/func.c.
︙ | |||
571 572 573 574 575 576 577 | 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 | - - - + + + - + - - + - | u8 matchOne; u8 matchSet; u8 noCase; }; /* ** For LIKE and GLOB matching on EBCDIC machines, assume that every |
︙ | |||
623 624 625 626 627 628 629 | 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 | - + | ** '%' Matches any sequence of zero or more characters ** *** '_' Matches any one character ** ** Ec Where E is the "esc" character and c is any other ** character, including '%', '_', and esc, match exactly c. ** |
︙ | |||
647 648 649 650 651 652 653 | 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 | - + - - + | /* The GLOB operator does not have an ESCAPE clause. And LIKE does not ** have the matchSet operator. So we either have to look for one or ** the other, never both. Hence the single variable matchOther is used ** to store the one we have to look for. */ matchOther = esc ? esc : pInfo->matchSet; |
︙ | |||
698 699 700 701 702 703 704 | 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 | - + | cx = c; } while( (c2 = *(zString++))!=0 ){ if( c2!=c && c2!=cx ) continue; if( patternCompare(zPattern,zString,pInfo,esc) ) return 1; } }else{ |
︙ | |||
744 745 746 747 748 749 750 | 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 | - + | } if( c2==0 || (seen ^ invert)==0 ){ return 0; } continue; } } |
︙ |