]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Modify the aBuiltinFunc array in func.c to use the WSD macros. (CVS 5653)
authordanielk1977 <danielk1977@noemail.net>
Mon, 1 Sep 2008 19:14:02 +0000 (19:14 +0000)
committerdanielk1977 <danielk1977@noemail.net>
Mon, 1 Sep 2008 19:14:02 +0000 (19:14 +0000)
FossilOrigin-Name: 846fff5f0902418cfce2915d2ccfe567481a1289

manifest
manifest.uuid
src/func.c

index 0df92af317c1e4a3aa15bd82f1a8ba725c35945b..f6e711f78b6d23f30ca866cd6bf458ec7e354670 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Begin\sadding\ssupport\sfor\sthe\sSQLITE_OMIT_WSD\smacro.\sSome\s(many)\sWSD\svariables\sstill\sneed\swrappers\sadded\sto\sthem.\s(CVS\s5652)
-D 2008-09-01T18:34:20
+C Modify\sthe\saBuiltinFunc\sarray\sin\sfunc.c\sto\suse\sthe\sWSD\smacros.\s(CVS\s5653)
+D 2008-09-01T19:14:02
 F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0
 F Makefile.in 689e14735f862a5553bceef206d8c13e29504e44
 F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654
@@ -107,7 +107,7 @@ F src/date.c 6609557446f2d6788e64e18c09e03fdaf4dd55cc
 F src/delete.c 434dd6f9d19475b35f2f57041d4bbba9f64da5ac
 F src/expr.c 6413795aa13ceb05994e6b2b453a77df3b892e7b
 F src/fault.c 3638519d1e0b82bccfafcb9f5ff491918b28f8e1
-F src/func.c 964a610bd68d79764f9e435615d723146f94f0e0
+F src/func.c c02615eafbe415d32d02499d31bbb1f72f052868
 F src/global.c 9ced7c26127f04fb4baaebed1f5bf6d7063b089f
 F src/hash.c eb64e48f3781100e5934f759fbe72a63a8fe78cb
 F src/hash.h 031cd9f915aff27e12262cb9eb570ac1b8326b53
@@ -630,7 +630,7 @@ F tool/speedtest16.c c8a9c793df96db7e4933f0852abb7a03d48f2e81
 F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff
 F tool/speedtest8.c 1dbced29de5f59ba2ebf877edcadf171540374d1
 F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
-P 7a577428b22918c232815e7998a623dbc47a8d41
-R b45f7764c971fd9d217268e94c98eacf
+P 573d92abb9adb1c321ebc2fcadcf14374213b093
+R 3abac82e1ee45358c8492ec6124a4409
 U danielk1977
-Z a30ccc5ce0944839576c9352eb85797d
+Z b414667c5cfbc125e0f377ce623ab83e
index 69370d09462f4f69cfc1436a6b476aa3ac966e23..46f3bbcff03ed227c396b468ee57938c529d4158 100644 (file)
@@ -1 +1 @@
-573d92abb9adb1c321ebc2fcadcf14374213b093
\ No newline at end of file
+846fff5f0902418cfce2915d2ccfe567481a1289
\ No newline at end of file
index b6844424c8bf242826225b8cd0e9acc8a970ca5a..6910c497d54ead8f17bad20b358ae4ce22bc608e 100644 (file)
@@ -16,7 +16,7 @@
 ** sqliteRegisterBuildinFunctions() found at the bottom of the file.
 ** All other code has file scope.
 **
-** $Id: func.c,v 1.200 2008/09/01 18:34:20 danielk1977 Exp $
+** $Id: func.c,v 1.201 2008/09/01 19:14:02 danielk1977 Exp $
 */
 #include "sqliteInt.h"
 #include <ctype.h>
@@ -1296,74 +1296,6 @@ int sqlite3IsLikeFunction(sqlite3 *db, Expr *pExpr, int *pIsNocase, char *aWc){
   return 1;
 }
 
-/*
-** The following array holds FuncDef structures for all of the functions
-** defined in this file.
-**
-** The array cannot be constant since changes are made to the
-** FuncDef.pHash elements at start-time.  The elements of this array
-** are read-only after initialization is complete.
-*/
-static FuncDef aBuiltinFunc[] = {
-  FUNCTION(ltrim,              1, 1, 0, trimFunc         ),
-  FUNCTION(ltrim,              2, 1, 0, trimFunc         ),
-  FUNCTION(rtrim,              1, 2, 0, trimFunc         ),
-  FUNCTION(rtrim,              2, 2, 0, trimFunc         ),
-  FUNCTION(trim,               1, 3, 0, trimFunc         ),
-  FUNCTION(trim,               2, 3, 0, trimFunc         ),
-  FUNCTION(min,               -1, 0, 1, minmaxFunc       ),
-  FUNCTION(min,                0, 0, 1, 0                ),
-  AGGREGATE(min,               1, 0, 1, minmaxStep,      minMaxFinalize ),
-  FUNCTION(max,               -1, 1, 1, minmaxFunc       ),
-  FUNCTION(max,                0, 1, 1, 0                ),
-  AGGREGATE(max,               1, 1, 1, minmaxStep,      minMaxFinalize ),
-  FUNCTION(typeof,             1, 0, 0, typeofFunc       ),
-  FUNCTION(length,             1, 0, 0, lengthFunc       ),
-  FUNCTION(substr,             2, 0, 0, substrFunc       ),
-  FUNCTION(substr,             3, 0, 0, substrFunc       ),
-  FUNCTION(abs,                1, 0, 0, absFunc          ),
-  FUNCTION(round,              1, 0, 0, roundFunc        ),
-  FUNCTION(round,              2, 0, 0, roundFunc        ),
-  FUNCTION(upper,              1, 0, 0, upperFunc        ),
-  FUNCTION(lower,              1, 0, 0, lowerFunc        ),
-  FUNCTION(coalesce,           1, 0, 0, 0                ),
-  FUNCTION(coalesce,          -1, 0, 0, ifnullFunc       ),
-  FUNCTION(coalesce,           0, 0, 0, 0                ),
-  FUNCTION(hex,                1, 0, 0, hexFunc          ),
-  FUNCTION(ifnull,             2, 0, 1, ifnullFunc       ),
-  FUNCTION(random,            -1, 0, 0, randomFunc       ),
-  FUNCTION(randomblob,         1, 0, 0, randomBlob       ),
-  FUNCTION(nullif,             2, 0, 1, nullifFunc       ),
-  FUNCTION(sqlite_version,     0, 0, 0, versionFunc      ),
-  FUNCTION(quote,              1, 0, 0, quoteFunc        ),
-  FUNCTION(last_insert_rowid,  0, 0, 0, last_insert_rowid),
-  FUNCTION(changes,            0, 0, 0, changes          ),
-  FUNCTION(total_changes,      0, 0, 0, total_changes    ),
-  FUNCTION(replace,            3, 0, 0, replaceFunc      ),
-  FUNCTION(zeroblob,           1, 0, 0, zeroblobFunc     ),
-#ifdef SQLITE_SOUNDEX
-  FUNCTION(soundex,            1, 0, 0, soundexFunc      ),
-#endif
-#ifndef SQLITE_OMIT_LOAD_EXTENSION
-  FUNCTION(load_extension,     1, 0, 0, loadExt          ),
-  FUNCTION(load_extension,     2, 0, 0, loadExt          ),
-#endif
-  AGGREGATE(sum,               1, 0, 0, sumStep,         sumFinalize    ),
-  AGGREGATE(total,             1, 0, 0, sumStep,         totalFinalize    ),
-  AGGREGATE(avg,               1, 0, 0, sumStep,         avgFinalize    ),
-  AGGREGATE(count,             0, 0, 0, countStep,       countFinalize  ),
-  AGGREGATE(count,             1, 0, 0, countStep,       countFinalize  ),
-  AGGREGATE(group_concat,     -1, 0, 0, groupConcatStep, groupConcatFinalize),
-
-  LIKEFUNC(glob, 2, &globInfo, SQLITE_FUNC_LIKE|SQLITE_FUNC_CASE),
-#ifdef SQLITE_CASE_SENSITIVE_LIKE
-  LIKEFUNC(like, 2, &likeInfoAlt, SQLITE_FUNC_LIKE|SQLITE_FUNC_CASE),
-  LIKEFUNC(like, 3, &likeInfoAlt, SQLITE_FUNC_LIKE|SQLITE_FUNC_CASE),
-#else
-  LIKEFUNC(like, 2, &likeInfoNorm, SQLITE_FUNC_LIKE),
-  LIKEFUNC(like, 3, &likeInfoNorm, SQLITE_FUNC_LIKE),
-#endif
-};
 
 /*
 ** All all of the FuncDef structures in the aBuiltinFunc[] array above
@@ -1373,10 +1305,81 @@ static FuncDef aBuiltinFunc[] = {
 ** After this routine runs
 */
 void sqlite3RegisterGlobalFunctions(void){
+  /*
+  ** The following array holds FuncDef structures for all of the functions
+  ** defined in this file.
+  **
+  ** The array cannot be constant since changes are made to the
+  ** FuncDef.pHash elements at start-time.  The elements of this array
+  ** are read-only after initialization is complete.
+  */
+  static SQLITE_WSD FuncDef aBuiltinFunc[] = {
+    FUNCTION(ltrim,              1, 1, 0, trimFunc         ),
+    FUNCTION(ltrim,              2, 1, 0, trimFunc         ),
+    FUNCTION(rtrim,              1, 2, 0, trimFunc         ),
+    FUNCTION(rtrim,              2, 2, 0, trimFunc         ),
+    FUNCTION(trim,               1, 3, 0, trimFunc         ),
+    FUNCTION(trim,               2, 3, 0, trimFunc         ),
+    FUNCTION(min,               -1, 0, 1, minmaxFunc       ),
+    FUNCTION(min,                0, 0, 1, 0                ),
+    AGGREGATE(min,               1, 0, 1, minmaxStep,      minMaxFinalize ),
+    FUNCTION(max,               -1, 1, 1, minmaxFunc       ),
+    FUNCTION(max,                0, 1, 1, 0                ),
+    AGGREGATE(max,               1, 1, 1, minmaxStep,      minMaxFinalize ),
+    FUNCTION(typeof,             1, 0, 0, typeofFunc       ),
+    FUNCTION(length,             1, 0, 0, lengthFunc       ),
+    FUNCTION(substr,             2, 0, 0, substrFunc       ),
+    FUNCTION(substr,             3, 0, 0, substrFunc       ),
+    FUNCTION(abs,                1, 0, 0, absFunc          ),
+    FUNCTION(round,              1, 0, 0, roundFunc        ),
+    FUNCTION(round,              2, 0, 0, roundFunc        ),
+    FUNCTION(upper,              1, 0, 0, upperFunc        ),
+    FUNCTION(lower,              1, 0, 0, lowerFunc        ),
+    FUNCTION(coalesce,           1, 0, 0, 0                ),
+    FUNCTION(coalesce,          -1, 0, 0, ifnullFunc       ),
+    FUNCTION(coalesce,           0, 0, 0, 0                ),
+    FUNCTION(hex,                1, 0, 0, hexFunc          ),
+    FUNCTION(ifnull,             2, 0, 1, ifnullFunc       ),
+    FUNCTION(random,            -1, 0, 0, randomFunc       ),
+    FUNCTION(randomblob,         1, 0, 0, randomBlob       ),
+    FUNCTION(nullif,             2, 0, 1, nullifFunc       ),
+    FUNCTION(sqlite_version,     0, 0, 0, versionFunc      ),
+    FUNCTION(quote,              1, 0, 0, quoteFunc        ),
+    FUNCTION(last_insert_rowid,  0, 0, 0, last_insert_rowid),
+    FUNCTION(changes,            0, 0, 0, changes          ),
+    FUNCTION(total_changes,      0, 0, 0, total_changes    ),
+    FUNCTION(replace,            3, 0, 0, replaceFunc      ),
+    FUNCTION(zeroblob,           1, 0, 0, zeroblobFunc     ),
+  #ifdef SQLITE_SOUNDEX
+    FUNCTION(soundex,            1, 0, 0, soundexFunc      ),
+  #endif
+  #ifndef SQLITE_OMIT_LOAD_EXTENSION
+    FUNCTION(load_extension,     1, 0, 0, loadExt          ),
+    FUNCTION(load_extension,     2, 0, 0, loadExt          ),
+  #endif
+    AGGREGATE(sum,               1, 0, 0, sumStep,         sumFinalize    ),
+    AGGREGATE(total,             1, 0, 0, sumStep,         totalFinalize    ),
+    AGGREGATE(avg,               1, 0, 0, sumStep,         avgFinalize    ),
+    AGGREGATE(count,             0, 0, 0, countStep,       countFinalize  ),
+    AGGREGATE(count,             1, 0, 0, countStep,       countFinalize  ),
+    AGGREGATE(group_concat,     -1, 0, 0, groupConcatStep, groupConcatFinalize),
+  
+    LIKEFUNC(glob, 2, &globInfo, SQLITE_FUNC_LIKE|SQLITE_FUNC_CASE),
+  #ifdef SQLITE_CASE_SENSITIVE_LIKE
+    LIKEFUNC(like, 2, &likeInfoAlt, SQLITE_FUNC_LIKE|SQLITE_FUNC_CASE),
+    LIKEFUNC(like, 3, &likeInfoAlt, SQLITE_FUNC_LIKE|SQLITE_FUNC_CASE),
+  #else
+    LIKEFUNC(like, 2, &likeInfoNorm, SQLITE_FUNC_LIKE),
+    LIKEFUNC(like, 3, &likeInfoNorm, SQLITE_FUNC_LIKE),
+  #endif
+  };
+
   int i;
+  FuncDefHash *pHash = &GLOBAL(FuncDefHash, sqlite3GlobalFunctions);
+  FuncDef *aFunc = &GLOBAL(FuncDef, aBuiltinFunc);
+
   for(i=0; i<ArraySize(aBuiltinFunc); i++){
-    FuncDefHash *pHash = &GLOBAL(FuncDefHash, sqlite3GlobalFunctions);
-    sqlite3FuncDefInsert(pHash, &aBuiltinFunc[i]);
+    sqlite3FuncDefInsert(pHash, &aFunc[i]);
   }
   sqlite3RegisterDateTimeFunctions();
 }