SQLite

Check-in [0a99a8c4fa]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Remove unnecessary tests from the LIKE pattern matcher. Slightly faster and slightly smaller, and it should also now works with EBCDIC.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 0a99a8c4facf65ec67d8d86108c9a3f723f7cbd6
User & Date: drh 2015-12-30 14:06:22.463
References
2016-01-20
14:30
Case folding in the LIKE operator should look at all bits of the character, not just the lower 8 bits. Fix for ticket [80369eddd5c94]. This is a back-out of check-in [0a99a8c4facf] with a testcase added. (check-in: 29dc4a3eb2 user: drh tags: branch-3.10)
14:22
Case folding in the LIKE operator should look at all bits of the character, not just the lower 8 bits. Fix for ticket [80369eddd5c94]. This is a back-out of check-in [0a99a8c4facf] with a testcase added. (check-in: 204432ee72 user: drh tags: trunk)
14:07 New ticket [80369eddd5] Incorrect case folding in the LIKE operator. (artifact: b3016558c5 user: drh)
Context
2016-01-20
14:22
Case folding in the LIKE operator should look at all bits of the character, not just the lower 8 bits. Fix for ticket [80369eddd5c94]. This is a back-out of check-in [0a99a8c4facf] with a testcase added. (check-in: 204432ee72 user: drh tags: trunk)
2015-12-30
15:18
Simplification to the xfer-optimization logic. (check-in: f35ba018da user: drh tags: trunk)
14:06
Remove unnecessary tests from the LIKE pattern matcher. Slightly faster and slightly smaller, and it should also now works with EBCDIC. (check-in: 0a99a8c4fa user: drh tags: trunk)
01:07
Add the json_group_array() and json_group_object() aggregate functions to the JSON1 extension. (check-in: 7f386a9332 user: drh tags: trunk)
Changes
Unified Diff Ignore Whitespace Patch
Changes to src/func.c.
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
          return 0;
        }
        continue;
      }
    }
    c2 = Utf8Read(zString);
    if( c==c2 ) continue;
    if( noCase && c<0x80 && c2<0x80 && sqlite3Tolower(c)==sqlite3Tolower(c2) ){
      continue;
    }
    if( c==matchOne && zPattern!=zEscaped && c2!=0 ) continue;
    return 0;
  }
  return *zString==0;
}







|







743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
          return 0;
        }
        continue;
      }
    }
    c2 = Utf8Read(zString);
    if( c==c2 ) continue;
    if( noCase && sqlite3Tolower(c)==sqlite3Tolower(c2) ){
      continue;
    }
    if( c==matchOne && zPattern!=zEscaped && c2!=0 ) continue;
    return 0;
  }
  return *zString==0;
}