]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Further simplifications to the VDBE - removing functionality that is no longer
authordrh <drh@noemail.net>
Tue, 8 Sep 2009 02:27:58 +0000 (02:27 +0000)
committerdrh <drh@noemail.net>
Tue, 8 Sep 2009 02:27:58 +0000 (02:27 +0000)
used.

FossilOrigin-Name: b271e16621831957468a1d3925174aac73f58891

manifest
manifest.uuid
src/trigger.c
src/vdbe.c

index e091e25348ca664ddb2e3717ced96c275ff9f866..6d95cae6aa1231b941aadbfd4e4aa4ac4392268f 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,8 +1,8 @@
 -----BEGIN PGP SIGNED MESSAGE-----
 Hash: SHA1
 
-C Code\ssimplifications,\sespecially\sto\sthe\spseudo-table\slogic,\sand\scomment\nimprovements.
-D 2009-09-08T01:14:49
+C Further\ssimplifications\sto\sthe\sVDBE\s-\sremoving\sfunctionality\sthat\sis\sno\slonger\nused.
+D 2009-09-08T02:27:59
 F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0
 F Makefile.in 73ddeec9dd10b85876c5c2ce1fdce627e1dcc7f8
 F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654
@@ -203,12 +203,12 @@ F src/test_tclvar.c 9e42fa59d3d2f064b7ab8628e7ab2dc8a9fe93d4
 F src/test_thread.c b8a1ab7ca1a632f18e8a361880d5d65eeea08eac
 F src/test_wsd.c 3ae5101de6cbfda2720152ab659ea84079719241
 F src/tokenize.c af8a56e6a50c5042fc305bfa796275e9bf26ff2b
-F src/trigger.c 55cdf9d595ded7f5843e5ac021722c19fe0451fa
+F src/trigger.c 054c08339b3471c785f1cf041ed878a425850e33
 F src/update.c 3e97974baa914f32d4ae690fa0cb7281aff8cd39
 F src/utf.c 99cf927eabb104621ba889ac0dd075fc1657ad30
 F src/util.c 59d4e9456bf1fe581f415a783fa0cee6115c8f35
 F src/vacuum.c 3fe0eebea6d2311c1c2ab2962887d11f7a4dcfb0
-F src/vdbe.c 3ead9f634776836a42dd3b959557faff96911194
+F src/vdbe.c 5dc91d9b7da2277b72721948134fd800918cca35
 F src/vdbe.h 080fe6bc1264438becb8bf9b9f3c84074c336b78
 F src/vdbeInt.h 004dbb28a9195b6c85fe3255c7cc300ffd8b9453
 F src/vdbeapi.c 8d5013ab6104be757c208a70ffb191cc27d2b688
@@ -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 d7dc8b433691745b3842282569f1573d1e057963
-R 9e0da6af96f3821c9fbb99c40116f7d0
+P 52449a9569b7142095cc88ee208b31cc59a3cab4
+R 70ed5c4db2b466a473f539b4376c4de5
 U drh
-Z 49ac72c18b4c2aedd979564a1a2e66cc
+Z 1c9033f2b3acc52071f7550f08e29c55
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.6 (GNU/Linux)
 
-iD8DBQFKpbAMoxKgR168RlERAh/DAJ4q07I078rtqsLLizRq8qQzLiSLlQCfUo1D
-jfuHFqkXs2sHSUl8rZ5owsY=
-=1zOu
+iD8DBQFKpcEyoxKgR168RlERAlSiAJ0WnXRYxzLIp2BXv1Jfr5O1NvTtcACfcOtd
+GJCQQ1LtgkqS/MBnZmt2PXw=
+=MZwN
 -----END PGP SIGNATURE-----
index 2ab2e98b097295288ddcfe8def3235a960f8cec8..7070f408b16ca1663ca3ba867ecea8a1bd485e7b 100644 (file)
@@ -1 +1 @@
-52449a9569b7142095cc88ee208b31cc59a3cab4
\ No newline at end of file
+b271e16621831957468a1d3925174aac73f58891
\ No newline at end of file
index 00acc813e285aff6232279304ff4e407070555b1..6ae8ea858eafd21b3b3b7c0ba697bad3256e350a 100644 (file)
@@ -734,7 +734,7 @@ static int codeTriggerProgram(
       }
     } 
     if( pStep->op!=TK_SELECT ){
-      sqlite3VdbeAddOp1(v, OP_ResetCount, 1);
+      sqlite3VdbeAddOp0(v, OP_ResetCount);
     }
   }
 
index b16880270bd1100e609ce41bfdf41e96c35d7ce3..6d972d3837cd966f9497e1fea79fd8b5d7bdc2f7 100644 (file)
@@ -700,11 +700,12 @@ int sqlite3VdbeExec(
         assert( pOp->p2<=p->nMem );
         pIn2 = &p->aMem[pOp->p2];
         REGISTER_TRACE(pOp->p2, pIn2);
-        if( (opProperty & OPFLG_OUT3)!=0 ){
-          assert( pOp->p3>0 );
-          assert( pOp->p3<=p->nMem );
-          pOut = &p->aMem[pOp->p3];
-        }
+        /* As currently implemented, in2 implies out3.  There is no reason
+        ** why this has to be, it just worked out that way. */
+        assert( (opProperty & OPFLG_OUT3)!=0 );
+        assert( pOp->p3>0 );
+        assert( pOp->p3<=p->nMem );
+        pOut = &p->aMem[pOp->p3];
       }else if( (opProperty & OPFLG_IN3)!=0 ){
         assert( pOp->p3>0 );
         assert( pOp->p3<=p->nMem );
@@ -3818,18 +3819,15 @@ case OP_Delete: {
   if( pOp->p2 & OPFLAG_NCHANGE ) p->nChange++;
   break;
 }
-
-/* Opcode: ResetCount P1 * *
+/* Opcode: ResetCount * * * * *
 **
-** This opcode resets the VMs internal change counter to 0. If P1 is true,
-** then the value of the change counter is copied to the database handle
-** change counter (returned by subsequent calls to sqlite3_changes())
-** before it is reset. This is used by trigger programs.
+** The value of the change counter is copied to the database handle
+** change counter (returned by subsequent calls to sqlite3_changes()).
+** Then the VMs internal change counter resets to 0.
+** This is used by trigger programs.
 */
 case OP_ResetCount: {
-  if( pOp->p1 ){
-    sqlite3VdbeSetChanges(db, p->nChange);
-  }
+  sqlite3VdbeSetChanges(db, p->nChange);
   p->nChange = 0;
   break;
 }