From: drh Date: Wed, 15 Dec 2010 18:54:37 +0000 (+0000) Subject: When registering the built-in LIKE and GLOB functions, make sure that they X-Git-Tag: version-3.7.5~72 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=901e994b8b7ed694ffe6d3858c79a195ee7b4791;p=thirdparty%2Fsqlite.git 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. FossilOrigin-Name: e1660764f20fed3fe92156d2b7f06075ff6ac145 --- diff --git a/manifest b/manifest index 0a63041a09..5968a5fa22 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,8 @@ -C Fix\sa\sperformance\sregression\sin\smatchinfo(). -D 2010-12-10T17:06:48 +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA1 + +C When\sregistering\sthe\sbuilt-in\sLIKE\sand\sGLOB\sfunctions,\smake\ssure\sthat\sthey\nare\stagged\swith\sSQLITE_UTF8\sso\sthat\sif\sother\sapplication-defined\sLIKE\sand\nGLOB\simplementations\sare\sprovided\sfor\sUTF16,\sthen\sthe\sappropriate\sfunction\nwill\sbe\sselected. +D 2010-12-15T18:54:37 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f F Makefile.in 4547616ad2286053af6ccccefa242dc925e49bf0 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23 @@ -131,7 +134,7 @@ F src/delete.c 7ed8a8c8b5f748ece92df173d7e0f7810c899ebd F src/expr.c 1810f3056b11de99cc10e24629edf00e5fbd3a75 F src/fault.c 160a0c015b6c2629d3899ed2daf63d75754a32bb F src/fkey.c 17950a28f28b23e8ad3feaac5fc88c324d2f600a -F src/func.c 2b7cf54d2569c2eba42fe81165d1932b546681a3 +F src/func.c cb41f614edc43b00bfeb030f9768e80eaff47edd F src/global.c 02335177cf6946fe5525c6f0755cf181140debf3 F src/hash.c 458488dcc159c301b8e7686280ab209f1fb915af F src/hash.h 2894c932d84d9f892d4b4023a75e501f83050970 @@ -894,7 +897,14 @@ F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224 F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f -P c959945ab7129b67eb2364befb9bf5cc88a8b0bf -R ecceeedfad0e31364c78a099c74496b6 -U dan -Z 880171407a74a3cc3ca171dd325c20ce +P fa37d8eb7cd8049689068af2a80fe2cbb4a603f1 +R 54ccdc3adac00c10353f3a4344e22182 +U drh +Z d38e8f6227d017dae680c87b22026116 +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1.4.6 (GNU/Linux) + +iD8DBQFNCQ7woxKgR168RlERAhlXAJ0VoVIcQCG2JtRw00vlkdOF11cy9wCfVw49 +kGM8knNFe0ZkghKGrCrLrig= +=6CjA +-----END PGP SIGNATURE----- diff --git a/manifest.uuid b/manifest.uuid index 632e91e631..475677dcd5 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -fa37d8eb7cd8049689068af2a80fe2cbb4a603f1 \ No newline at end of file +e1660764f20fed3fe92156d2b7f06075ff6ac145 \ No newline at end of file diff --git a/src/func.c b/src/func.c index 8b7086f600..19c6d22510 100644 --- a/src/func.c +++ b/src/func.c @@ -1450,9 +1450,9 @@ void sqlite3RegisterLikeFunctions(sqlite3 *db, int caseSensitive){ }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",