]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
All SQLITE_MAX_VARIABLE_NUMBER to exceed 32767. The sizes of some structures
authordrh <drh@noemail.net>
Tue, 3 Nov 2009 01:22:07 +0000 (01:22 +0000)
committerdrh <drh@noemail.net>
Tue, 3 Nov 2009 01:22:07 +0000 (01:22 +0000)
increase when the compile-time parameter is configured this way.

FossilOrigin-Name: 16a24b4485420bdf30d3c8e22cfbaf008e07df02

manifest
manifest.uuid
src/main.c
src/sqliteInt.h
src/vdbeInt.h
src/vdbeaux.c

index 226bdcdee1d1711c022b41e96a2be7f484cdb3ce..2c9f65adfea809cb099befd3edfc25474256405e 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,8 +1,8 @@
 -----BEGIN PGP SIGNED MESSAGE-----
 Hash: SHA1
 
-C Bug\sfix\sin\sthe\srecent\schanges\sto\smkopcodeh.awk.
-D 2009-11-02T18:44:58
+C All\sSQLITE_MAX_VARIABLE_NUMBER\sto\sexceed\s32767.\s\sThe\ssizes\sof\ssome\sstructures\nincrease\swhen\sthe\scompile-time\sparameter\sis\sconfigured\sthis\sway.
+D 2009-11-03T01:22:08
 F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0
 F Makefile.in a77dfde96ad86aafd3f71651a4333a104debe86a
 F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654
@@ -130,7 +130,7 @@ F src/journal.c e00df0c0da8413ab6e1bb7d7cab5665d4a9000d0
 F src/legacy.c 303b4ffcf1ae652fcf5ef635846c563c254564f6
 F src/lempar.c 0c4d1ab0a5ef2b0381eb81a732c54f68f27a574d
 F src/loadext.c 0e88a335665db0b2fb4cece3e49dcb65d832635a
-F src/main.c 25d44525b06c395975bf9dd633e39dd902f8f75d
+F src/main.c 5e12af46a6e6149b755830f9c035be6eb77995a6
 F src/malloc.c 685561d2f1602042e349aea5d7a88c3f10a63454
 F src/mem0.c f2f84062d1f35814d6535c9f9e33de3bfb3b132c
 F src/mem1.c e6d5c23941288df8191b8a98c28e3f57771e2270
@@ -167,7 +167,7 @@ F src/select.c cbe366a0ce114856e66f5daf0f848d7c48a88298
 F src/shell.c f66531a57fff927f95c98d99c28237d88e400c86
 F src/sqlite.h.in 9106176cf206c36f01f8b761ba62671818bbe6ff
 F src/sqlite3ext.h 1db7d63ab5de4b3e6b83dd03d1a4e64fef6d2a17
-F src/sqliteInt.h 00256600cb4e17d71373df3844aa53aed5594cdb
+F src/sqliteInt.h b0661039d644645e5c5e60e179cb9c3f502805a0
 F src/sqliteLimit.h 38b2fffcd01faeaeaadea71b2b47695a81580c8b
 F src/status.c 237b193efae0cf6ac3f0817a208de6c6c6ef6d76
 F src/table.c cc86ad3d6ad54df7c63a3e807b5783c90411a08d
@@ -210,9 +210,9 @@ F src/util.c 59d4e9456bf1fe581f415a783fa0cee6115c8f35
 F src/vacuum.c 48e1282bbd5eac4b461587c51658378658c00770
 F src/vdbe.c a435ffcf6bfc7f14eb40998062ccbd7dfa482319
 F src/vdbe.h 449323a21c02226790acb6189dae78af17b92b78
-F src/vdbeInt.h 97312570b5104c445c45c63cc7d10c361c2a0fe5
+F src/vdbeInt.h aa08465efa812288688a72613a2584079d294c62
 F src/vdbeapi.c 44b5f387459d5faa158aa8d3a26967f0c8596efd
-F src/vdbeaux.c 55f467c7da95d70e039f1e2c9038511b7c2f5b5a
+F src/vdbeaux.c a829741c444cbeae04a800f285c272ce28a29897
 F src/vdbeblob.c 9bfaeab22e261a6a7b6df04e7faaf7d6dfdbef5a
 F src/vdbemem.c 7055a2941a7802094f4704cedc7a28cc88a23749
 F src/vtab.c 3e54fe39374e5feb8b174de32a90e7a21966025d
@@ -764,14 +764,14 @@ F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff
 F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224
 F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
 F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f
-P e730195f52429dc1bc4c1559880effd68e3eced9
-R 43a792e65b7ac6d2b78c68561f4498a9
+P 6610cac435428434bc978d5e4df92aa1e431240b
+R ccaf6a810237127b03d8c2dda40d5c18
 U drh
-Z c8336987c789a3c651c8c2f520b5383d
+Z 75578a720b6342c3a297305a01e4e12a
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.6 (GNU/Linux)
 
-iD8DBQFK7yitoxKgR168RlERAsCxAJ4+YgC5c/jLlrtA06ZfZK/VqKdzXgCfRnMm
-ZnQ1TAu8ukeHgZdVGV3k/OY=
-=sXy0
+iD8DBQFK74XEoxKgR168RlERAoE0AJ0ReiaY3L/Gf3rz2iTVUhp4M+MNCACePwqQ
+9jr/776w6kq808+th2eWh+E=
+=478y
 -----END PGP SIGNATURE-----
index 0abdcda84203e6e9a3cb88fb466c47e86934082e..ebf6c0b487349eeffc5bf2fcd444c8849380b4db 100644 (file)
@@ -1 +1 @@
-6610cac435428434bc978d5e4df92aa1e431240b
\ No newline at end of file
+16a24b4485420bdf30d3c8e22cfbaf008e07df02
\ No newline at end of file
index cdb4152864480dfc3be22e56eaaeb392faadfc95..a0e765db867c1645c89856d7e67955411eef7701 100644 (file)
@@ -1481,9 +1481,6 @@ static const int aHardLimit[] = {
 #if SQLITE_MAX_LIKE_PATTERN_LENGTH<1
 # error SQLITE_MAX_LIKE_PATTERN_LENGTH must be at least 1
 #endif
-#if SQLITE_MAX_VARIABLE_NUMBER<1 || SQLITE_MAX_VARIABLE_NUMBER>32767
-# error SQLITE_MAX_VARIABLE_NUMBER must be between 1 and 32767
-#endif
 #if SQLITE_MAX_COLUMN>32767
 # error SQLITE_MAX_COLUMN must not exceed 32767
 #endif
index 7780a9b2f8d915fd0625898a0a884f9f6c22c5f9..1580052659c46480d423989bb606d6558448b18e 100644 (file)
@@ -1590,8 +1590,13 @@ struct Expr {
   int iTable;            /* TK_COLUMN: cursor number of table holding column
                          ** TK_REGISTER: register number
                          ** TK_TRIGGER: 1 -> new, 0 -> old */
+#if SQLITE_MAX_VARIABLE_NUMBER<=32767
   i16 iColumn;           /* TK_COLUMN: column index.  -1 for rowid.
                          ** TK_VARIABLE: variable number (always >= 1). */
+#else
+  int iColumn;           /* Some users want a lot of variables and are willing
+                         ** to bear the memory and performance costs. */
+#endif
   i16 iAgg;              /* Which entry in pAggInfo->aCol[] or ->aFunc[] */
   i16 iRightJoinTable;   /* If EP_FromJoin, the right table of the join */
   u8 flags2;             /* Second set of flags.  EP2_... */
index 8a806de58731e4619e8cc7333b839085b93d5a3c..3294498e47548fc28f07780f124c53faa2701be7 100644 (file)
@@ -290,7 +290,11 @@ struct Vdbe {
   VdbeCursor **apCsr;     /* One element of this array for each open cursor */
   u8 errorAction;         /* Recovery action to do in case of an error */
   u8 okVar;               /* True if azVar[] has been initialized */
+#if SQLITE_MAX_VARIABLE_NUMBER<=32767
   u16 nVar;               /* Number of entries in aVar[] */
+#else
+  int nVar;               /* Some users want many variables. */
+#endif
   Mem *aVar;              /* Values for the OP_Variable opcode. */
   char **azVar;           /* Name of variables */
   u32 magic;              /* Magic number for sanity checking */
index 169c45031448aeaeeb1f3da7d21767205f49c564..a2936f304b9716df74d4fcafbfb05516ea8f9e88 100644 (file)
@@ -1359,7 +1359,7 @@ void sqlite3VdbeMakeReady(
 
     p->nCursor = (u16)nCursor;
     if( p->aVar ){
-      p->nVar = (u16)nVar;
+      p->nVar = nVar;
       for(n=0; n<nVar; n++){
         p->aVar[n].flags = MEM_Null;
         p->aVar[n].db = db;