SQLite

Check-in [e1660764f2]
Login

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

Overview
Comment:When registering the built-in LIKE and GLOB functions, make sure that they are tagged with SQLITE_UTF8 so that if other application-defined LIKE and GLOB implementations are provided for UTF16, then the appropriate function will be selected.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: e1660764f20fed3fe92156d2b7f06075ff6ac145
User & Date: drh 2010-12-15 18:54:37.000
Context
2010-12-15
21:02
Enhanced comments in wal.c and declare some procedure parameters "const". No changes to the generated code. (check-in: d0e4375b8a user: drh tags: trunk)
18:54
When registering the built-in LIKE and GLOB functions, make sure that they are tagged with SQLITE_UTF8 so that if other application-defined LIKE and GLOB implementations are provided for UTF16, then the appropriate function will be selected. (check-in: e1660764f2 user: drh tags: trunk)
2010-12-10
17:06
Fix a performance regression in matchinfo(). (check-in: fa37d8eb7c user: dan tags: trunk)
Changes
Side-by-Side Diff Ignore Whitespace Patch
Changes to src/func.c.
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455



1456
1457
1458
1459
1460
1461
1462
1446
1447
1448
1449
1450
1451
1452



1453
1454
1455
1456
1457
1458
1459
1460
1461
1462







-
-
-
+
+
+







void sqlite3RegisterLikeFunctions(sqlite3 *db, int caseSensitive){
  struct compareInfo *pInfo;
  if( caseSensitive ){
    pInfo = (struct compareInfo*)&likeInfoAlt;
  }else{
    pInfo = (struct compareInfo*)&likeInfoNorm;
  }
  sqlite3CreateFunc(db, "like", 2, SQLITE_ANY, pInfo, likeFunc, 0, 0, 0);
  sqlite3CreateFunc(db, "like", 3, SQLITE_ANY, pInfo, likeFunc, 0, 0, 0);
  sqlite3CreateFunc(db, "glob", 2, SQLITE_ANY, 
  sqlite3CreateFunc(db, "like", 2, SQLITE_UTF8, pInfo, likeFunc, 0, 0, 0);
  sqlite3CreateFunc(db, "like", 3, SQLITE_UTF8, pInfo, likeFunc, 0, 0, 0);
  sqlite3CreateFunc(db, "glob", 2, SQLITE_UTF8, 
      (struct compareInfo*)&globInfo, likeFunc, 0, 0, 0);
  setLikeOptFlag(db, "glob", SQLITE_FUNC_LIKE | SQLITE_FUNC_CASE);
  setLikeOptFlag(db, "like", 
      caseSensitive ? (SQLITE_FUNC_LIKE | SQLITE_FUNC_CASE) : SQLITE_FUNC_LIKE);
}

/*