Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Improve the performance of the LIKE operator by using strcspn() to aid wildcard matching. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
37284d4e8f501a37c582aa899419a3df |
User & Date: | drh 2017-10-30 18:49:11.595 |
Context
2017-10-30
| ||
20:44 | Clarify some comments describing the WAL index file. No changes to code. (check-in: 3be3aad9ec user: drh tags: trunk) | |
18:49 | Improve the performance of the LIKE operator by using strcspn() to aid wildcard matching. (check-in: 37284d4e8f user: drh tags: trunk) | |
2017-10-28
| ||
20:54 | Increase the version number for the next release - which is still months away but there have been significant query planner enhancements since the previous release. (check-in: 457eedfac0 user: drh tags: trunk) | |
Changes
Changes to src/func.c.
︙ | ︙ | |||
694 695 696 697 698 699 700 | ** that point. ** ** For a case-insensitive search, set variable cx to be the same as ** c but in the other case and search the input string for either ** c or cx. */ if( c<=0x80 ){ | | | | > | > | > | > | 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 | ** that point. ** ** For a case-insensitive search, set variable cx to be the same as ** c but in the other case and search the input string for either ** c or cx. */ if( c<=0x80 ){ char zStop[3]; int bMatch; if( noCase ){ zStop[0] = sqlite3Toupper(c); zStop[1] = sqlite3Tolower(c); zStop[2] = 0; }else{ zStop[0] = c; zStop[1] = 0; } while(1){ zString += strcspn((const char*)zString, zStop); if( zString[0]==0 ) break; zString++; bMatch = patternCompare(zPattern,zString,pInfo,matchOther); if( bMatch!=SQLITE_NOMATCH ) return bMatch; } }else{ int bMatch; while( (c2 = Utf8Read(zString))!=0 ){ if( c2!=c ) continue; |
︙ | ︙ |