]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Additional simplifications in support of structural testing.
authordrh <drh@noemail.net>
Tue, 8 Sep 2009 13:40:16 +0000 (13:40 +0000)
committerdrh <drh@noemail.net>
Tue, 8 Sep 2009 13:40:16 +0000 (13:40 +0000)
FossilOrigin-Name: 4ab8c841f818326b0b04b95e3edd828c77f109d9

manifest
manifest.uuid
src/insert.c
src/vdbemem.c

index 6d95cae6aa1231b941aadbfd4e4aa4ac4392268f..5d455053430af68571cb526da6900af9d1b376af 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,8 +1,8 @@
 -----BEGIN PGP SIGNED MESSAGE-----
 Hash: SHA1
 
-C Further\ssimplifications\sto\sthe\sVDBE\s-\sremoving\sfunctionality\sthat\sis\sno\slonger\nused.
-D 2009-09-08T02:27:59
+C Additional\ssimplifications\sin\ssupport\sof\sstructural\stesting.
+D 2009-09-08T13:40:17
 F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0
 F Makefile.in 73ddeec9dd10b85876c5c2ce1fdce627e1dcc7f8
 F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654
@@ -124,7 +124,7 @@ F src/global.c 271952d199a8cc59d4ce840b3bbbfd2f30c8ba32
 F src/hash.c ebcaa921ffd9d86f7ea5ae16a0a29d1c871130a7
 F src/hash.h 35b216c13343d0b4f87d9f21969ac55ad72174e1
 F src/hwtime.h 4a1d45f4cae1f402ea19686acf24acf4f0cb53cb
-F src/insert.c c90b07a1c8c8c31f55ad906cc3fc2de10ba182dd
+F src/insert.c 06fe504934bdd3b3a0fa0e11ccd6506b57114c52
 F src/journal.c e00df0c0da8413ab6e1bb7d7cab5665d4a9000d0
 F src/legacy.c 303b4ffcf1ae652fcf5ef635846c563c254564f6
 F src/lempar.c 0c4d1ab0a5ef2b0381eb81a732c54f68f27a574d
@@ -214,7 +214,7 @@ F src/vdbeInt.h 004dbb28a9195b6c85fe3255c7cc300ffd8b9453
 F src/vdbeapi.c 8d5013ab6104be757c208a70ffb191cc27d2b688
 F src/vdbeaux.c ec1545ece73dd739c9043f14963fb3f20d3880d6
 F src/vdbeblob.c f93cb60ac388633ed3bde8a94ef161ad2dbfb689
-F src/vdbemem.c dc551981833756ea34a3e0b238f759479e7cf526
+F src/vdbemem.c 0ff2b209fccade3ff6709286057b82ed7f6c1e70
 F src/vtab.c 3e54fe39374e5feb8b174de32a90e7a21966025d
 F src/walker.c 1edca756275f158b80f20eb6f104c8d3fcc96a04
 F src/where.c 15b38ff11d83f749ac61ef2ab5ad7ddbee273d69
@@ -753,14 +753,14 @@ F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff
 F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224
 F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
 F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f
-P 52449a9569b7142095cc88ee208b31cc59a3cab4
-R 70ed5c4db2b466a473f539b4376c4de5
+P b271e16621831957468a1d3925174aac73f58891
+R 8c612cb15dd060090bb2d4d886dee584
 U drh
-Z 1c9033f2b3acc52071f7550f08e29c55
+Z a9d8abd000fb942a5d5935b1dbcc5c31
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.6 (GNU/Linux)
 
-iD8DBQFKpcEyoxKgR168RlERAlSiAJ0WnXRYxzLIp2BXv1Jfr5O1NvTtcACfcOtd
-GJCQQ1LtgkqS/MBnZmt2PXw=
-=MZwN
+iD8DBQFKpl7EoxKgR168RlERArvgAJ9VIhI4NUVMwROuivJoGqBtHQo34ACdFY4R
+tYb9IFwgX3mkui92z9PMIsY=
+=tFOy
 -----END PGP SIGNATURE-----
index 7070f408b16ca1663ca3ba867ecea8a1bd485e7b..10a03f931eb6bc8c1424ed32a039054007308553 100644 (file)
@@ -1 +1 @@
-b271e16621831957468a1d3925174aac73f58891
\ No newline at end of file
+4ab8c841f818326b0b04b95e3edd828c77f109d9
\ No newline at end of file
index d373a1d5b405913a51ec274d38f2297becb694b1..3eba2612ec83d90342e3305731ac639211940765 100644 (file)
@@ -230,8 +230,10 @@ void sqlite3AutoincrementBegin(Parse *pParse){
   int addr;                  /* A VDBE address */
   Vdbe *v = pParse->pVdbe;   /* VDBE under construction */
 
-  /* If currently generating a trigger program, this call is a no-op */
-  if( pParse->pTriggerTab ) return;
+  /* This routine is never called during trigger-generation.  It is
+  ** only called from the top-level */
+  assert( pParse->pTriggerTab==0 );
+  assert( pParse==sqlite3ParseToplevel(pParse) );
 
   assert( v );   /* We failed long ago if this is not so */
   for(p = pParse->pAinc; p; p = p->pNext){
index 0995a3b68b51e006cfde1b22e65c3997edc53cc2..45a175f1f446d394de56a924b470859554d7784b 100644 (file)
@@ -270,6 +270,10 @@ int sqlite3VdbeMemFinalize(Mem *pMem, FuncDef *pFunc){
 */
 void sqlite3VdbeMemReleaseExternal(Mem *p){
   assert( p->db==0 || sqlite3_mutex_held(p->db->mutex) );
+  testcase( p->flags & MEM_Agg );
+  testcase( p->flags & MEM_Dyn );
+  testcase( p->flags & MEM_RowSet );
+  testcase( p->flags & MEM_Frame );
   if( p->flags&(MEM_Agg|MEM_Dyn|MEM_RowSet|MEM_Frame) ){
     if( p->flags&MEM_Agg ){
       sqlite3VdbeMemFinalize(p, p->u.pDef);
@@ -282,8 +286,7 @@ void sqlite3VdbeMemReleaseExternal(Mem *p){
     }else if( p->flags&MEM_RowSet ){
       sqlite3RowSetClear(p->u.pRowSet);
     }else if( p->flags&MEM_Frame ){
-      sqlite3VdbeFrameDelete(p->u.pFrame);
-      p->flags &= ~MEM_Frame;
+      sqlite3VdbeMemSetNull(p);
     }
   }
 }