]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Add a new sqlite3_test_control() verb that facilitates testing that all
authordrh <drh@noemail.net>
Sat, 2 Jan 2010 03:21:35 +0000 (03:21 +0000)
committerdrh <drh@noemail.net>
Sat, 2 Jan 2010 03:21:35 +0000 (03:21 +0000)
keywords are shown in the documentation.  (Two keywords were found to
be missing while testing the change.)

FossilOrigin-Name: d3cdc4b12be7f1ed2249ad210482200868956d12

manifest
manifest.uuid
src/main.c
src/sqlite.h.in
tool/mkkeywordhash.c

index 6cf663c70ed98a871ea1a38db536723421563af2..11651bc354a3a00eed9c61c0fa3a6f321898f3c5 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,8 +1,8 @@
 -----BEGIN PGP SIGNED MESSAGE-----
 Hash: SHA1
 
-C Add\sevidence\smarks\sassociated\swith\sautoincrement.
-D 2010-01-01T18:57:48
+C Add\sa\snew\ssqlite3_test_control()\sverb\sthat\sfacilitates\stesting\sthat\sall\nkeywords\sare\sshown\sin\sthe\sdocumentation.\s\s(Two\skeywords\swere\sfound\sto\nbe\smissing\swhile\stesting\sthe\schange.)
+D 2010-01-02T03:21:35
 F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0
 F Makefile.in c5827ead754ab32b9585487177c93bb00b9497b3
 F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654
@@ -132,7 +132,7 @@ F src/journal.c b0ea6b70b532961118ab70301c00a33089f9315c
 F src/legacy.c 9304428e71b1d622b764913e1432e69156814755
 F src/lempar.c 7f026423f4d71d989e719a743f98a1cbd4e6d99e
 F src/loadext.c 1c7a61ce1281041f437333f366a96aa0d29bb581
-F src/main.c e477f3e3b3cfdce075e23b12875c4e77e6e358ee
+F src/main.c 0ccd64804fa7f17b6913b19c525625b0121f894f
 F src/malloc.c 5fa175797f982b178eaf38afba9c588a866be729
 F src/mem0.c 6a55ebe57c46ca1a7d98da93aaa07f99f1059645
 F src/mem1.c 552f7e11486272f27948d2de9c012884d1f52908
@@ -167,7 +167,7 @@ F src/resolve.c 69a45df25039eb58e321653914ad670ffe49d486
 F src/rowset.c 69afa95a97c524ba6faf3805e717b5b7ae85a697
 F src/select.c 0109b993c360d649857523abb72919e1794f9b45
 F src/shell.c b9fae60b0f2ce306c20fa99e83c75023bf35f15b
-F src/sqlite.h.in 60cbf318765de59bb454e229bd2d5ec065dd686a
+F src/sqlite.h.in d493cf5029de67fe7252324473d89140a007a6c4
 F src/sqlite3ext.h 69dfb8116af51b84a029cddb3b35062354270c89
 F src/sqliteInt.h d6c48b1a5cd6485151e1d1b071dbe0a85ceb70fe
 F src/sqliteLimit.h 3afab2291762b5d09ae20c18feb8e9fa935a60a6
@@ -764,7 +764,7 @@ F tool/genfkey.README cf68fddd4643bbe3ff8e31b8b6d8b0a1b85e20f4
 F tool/genfkey.test 4196a8928b78f51d54ef58e99e99401ab2f0a7e5
 F tool/lemon.c 3088e4dec7f93c6b0925cf5bac04c8b7c8688835
 F tool/lempar.c 01ca97f87610d1dac6d8cd96ab109ab1130e76dc
-F tool/mkkeywordhash.c 9216336085e7a7c226a35c0bd780239968f8304f
+F tool/mkkeywordhash.c d2e6b4a5965e23afb80fbe74bb54648cd371f309
 F tool/mkopts.tcl 66ac10d240cc6e86abd37dc908d50382f84ff46e
 F tool/mkspeedsql.tcl a1a334d288f7adfe6e996f2e712becf076745c97
 F tool/mksqlite3c.tcl 1da28229695fdebdfe8a7d19902ef6c76d6c1c2d
@@ -786,14 +786,14 @@ F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff
 F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224
 F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
 F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f
-P e1ccdb93d79a6f7b16f1f59cc3ad78f8d02eae84
-R e8f64ea35cd805e82f52b2a556e34139
+P 0e918c54893c361fb005295847f89aadcbfae35d
+R 4e2278a90d83aeb76194f552dd614ab2
 U drh
-Z 394e360eb5d1df957fe55c257efb31a6
+Z 6cc1d51d83bc0a29c7be4eda186a8f3f
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.6 (GNU/Linux)
 
-iD8DBQFLPkWvoxKgR168RlERAtsJAJwKfkre0Bw1zrZ2r7ADRBOPhGeUFwCeKg/n
-1gzLrYYIpH++nnmQeRwJHWU=
-=j3Nq
+iD8DBQFLPrvBoxKgR168RlERAl39AJ4z8HMdS6dRMjYvZStCrX4tTzIf7QCeLL+Z
+zmFXEMFv/PKMmwqfXsIA47c=
+=8Nrv
 -----END PGP SIGNATURE-----
index 1a374056ef71be520c396c99eba978f4abd812e3..376d8ac54df92ceb4ea4939b80d7ba58c8479edb 100644 (file)
@@ -1 +1 @@
-0e918c54893c361fb005295847f89aadcbfae35d
\ No newline at end of file
+d3cdc4b12be7f1ed2249ad210482200868956d12
\ No newline at end of file
index 2a4fbcf5eb66f9081317a563d1922a959325e08e..7477e0c66bdc8427f241f15595a9220fdc12f2f5 100644 (file)
@@ -2297,6 +2297,24 @@ int sqlite3_test_control(int op, ...){
       break;
     }
 
+#ifdef SQLITE_N_KEYWORD
+    /* sqlite3_test_control(SQLITE_TESTCTRL_ISKEYWORD, const char *zWord)
+    **
+    ** If zWord is a keyword recognized by the parser, then return the
+    ** number of keywords.  Or if zWord is not a keyword, return 0.
+    ** 
+    ** This test feature is only available in the amalgamation since
+    ** the SQLITE_N_KEYWORD macro is not defined in this file if SQLite
+    ** is built using separate source files.
+    */
+    case SQLITE_TESTCTRL_ISKEYWORD: {
+      const char *zWord = va_arg(ap, const char*);
+      int n = sqlite3Strlen30(zWord);
+      rc = sqlite3KeywordCode((u8*)zWord, n) ? SQLITE_N_KEYWORD : 0;
+      break;
+    }
+#endif 
+
   }
   va_end(ap);
 #endif /* SQLITE_OMIT_BUILTIN_TEST */
index e5e3e1b7076797fee500354bd82665fed4bfca1a..3bbb714588113aeae9d72fb21f4185555fb7f887 100644 (file)
@@ -4935,7 +4935,8 @@ int sqlite3_test_control(int op, ...);
 #define SQLITE_TESTCTRL_ALWAYS                  13
 #define SQLITE_TESTCTRL_RESERVE                 14
 #define SQLITE_TESTCTRL_OPTIMIZATIONS           15
-#define SQLITE_TESTCTRL_LAST                    15
+#define SQLITE_TESTCTRL_ISKEYWORD               16
+#define SQLITE_TESTCTRL_LAST                    16
 
 /*
 ** CAPI3REF: SQLite Runtime Status
index 872961a532a8b1f1151c5e4a7af2b643c5f30b67..509aeef9ea0a4e3b579e9bcf45004f8fbda9807f 100644 (file)
@@ -596,6 +596,7 @@ int main(int argc, char **argv){
   printf("int sqlite3KeywordCode(const unsigned char *z, int n){\n");
   printf("  return keywordCode((char*)z, n);\n");
   printf("}\n");
+  printf("#define SQLITE_N_KEYWORD %d\n", nKeyword);
 
   return 0;
 }