1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-08-07 02:42:48 +03:00

Further simplifications to the VDBE - removing functionality that is no longer

used.

FossilOrigin-Name: b271e16621831957468a1d3925174aac73f58891
This commit is contained in:
drh
2009-09-08 02:27:58 +00:00
parent 3e9ca09453
commit b7f1d9a747
4 changed files with 24 additions and 26 deletions

View File

@@ -1,8 +1,8 @@
-----BEGIN PGP SIGNED MESSAGE----- -----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1 Hash: SHA1
C Code\ssimplifications,\sespecially\sto\sthe\spseudo-table\slogic,\sand\scomment\nimprovements. C Further\ssimplifications\sto\sthe\sVDBE\s-\sremoving\sfunctionality\sthat\sis\sno\slonger\nused.
D 2009-09-08T01:14:49 D 2009-09-08T02:27:59
F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0 F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0
F Makefile.in 73ddeec9dd10b85876c5c2ce1fdce627e1dcc7f8 F Makefile.in 73ddeec9dd10b85876c5c2ce1fdce627e1dcc7f8
F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654 F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654
@@ -203,12 +203,12 @@ F src/test_tclvar.c 9e42fa59d3d2f064b7ab8628e7ab2dc8a9fe93d4
F src/test_thread.c b8a1ab7ca1a632f18e8a361880d5d65eeea08eac F src/test_thread.c b8a1ab7ca1a632f18e8a361880d5d65eeea08eac
F src/test_wsd.c 3ae5101de6cbfda2720152ab659ea84079719241 F src/test_wsd.c 3ae5101de6cbfda2720152ab659ea84079719241
F src/tokenize.c af8a56e6a50c5042fc305bfa796275e9bf26ff2b F src/tokenize.c af8a56e6a50c5042fc305bfa796275e9bf26ff2b
F src/trigger.c 55cdf9d595ded7f5843e5ac021722c19fe0451fa F src/trigger.c 054c08339b3471c785f1cf041ed878a425850e33
F src/update.c 3e97974baa914f32d4ae690fa0cb7281aff8cd39 F src/update.c 3e97974baa914f32d4ae690fa0cb7281aff8cd39
F src/utf.c 99cf927eabb104621ba889ac0dd075fc1657ad30 F src/utf.c 99cf927eabb104621ba889ac0dd075fc1657ad30
F src/util.c 59d4e9456bf1fe581f415a783fa0cee6115c8f35 F src/util.c 59d4e9456bf1fe581f415a783fa0cee6115c8f35
F src/vacuum.c 3fe0eebea6d2311c1c2ab2962887d11f7a4dcfb0 F src/vacuum.c 3fe0eebea6d2311c1c2ab2962887d11f7a4dcfb0
F src/vdbe.c 3ead9f634776836a42dd3b959557faff96911194 F src/vdbe.c 5dc91d9b7da2277b72721948134fd800918cca35
F src/vdbe.h 080fe6bc1264438becb8bf9b9f3c84074c336b78 F src/vdbe.h 080fe6bc1264438becb8bf9b9f3c84074c336b78
F src/vdbeInt.h 004dbb28a9195b6c85fe3255c7cc300ffd8b9453 F src/vdbeInt.h 004dbb28a9195b6c85fe3255c7cc300ffd8b9453
F src/vdbeapi.c 8d5013ab6104be757c208a70ffb191cc27d2b688 F src/vdbeapi.c 8d5013ab6104be757c208a70ffb191cc27d2b688
@@ -753,14 +753,14 @@ F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff
F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224 F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224
F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f
P d7dc8b433691745b3842282569f1573d1e057963 P 52449a9569b7142095cc88ee208b31cc59a3cab4
R 9e0da6af96f3821c9fbb99c40116f7d0 R 70ed5c4db2b466a473f539b4376c4de5
U drh U drh
Z 49ac72c18b4c2aedd979564a1a2e66cc Z 1c9033f2b3acc52071f7550f08e29c55
-----BEGIN PGP SIGNATURE----- -----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux) Version: GnuPG v1.4.6 (GNU/Linux)
iD8DBQFKpbAMoxKgR168RlERAh/DAJ4q07I078rtqsLLizRq8qQzLiSLlQCfUo1D iD8DBQFKpcEyoxKgR168RlERAlSiAJ0WnXRYxzLIp2BXv1Jfr5O1NvTtcACfcOtd
jfuHFqkXs2sHSUl8rZ5owsY= GJCQQ1LtgkqS/MBnZmt2PXw=
=1zOu =MZwN
-----END PGP SIGNATURE----- -----END PGP SIGNATURE-----

View File

@@ -1 +1 @@
52449a9569b7142095cc88ee208b31cc59a3cab4 b271e16621831957468a1d3925174aac73f58891

View File

@@ -734,7 +734,7 @@ static int codeTriggerProgram(
} }
} }
if( pStep->op!=TK_SELECT ){ if( pStep->op!=TK_SELECT ){
sqlite3VdbeAddOp1(v, OP_ResetCount, 1); sqlite3VdbeAddOp0(v, OP_ResetCount);
} }
} }

View File

@@ -700,11 +700,12 @@ int sqlite3VdbeExec(
assert( pOp->p2<=p->nMem ); assert( pOp->p2<=p->nMem );
pIn2 = &p->aMem[pOp->p2]; pIn2 = &p->aMem[pOp->p2];
REGISTER_TRACE(pOp->p2, pIn2); REGISTER_TRACE(pOp->p2, pIn2);
if( (opProperty & OPFLG_OUT3)!=0 ){ /* As currently implemented, in2 implies out3. There is no reason
assert( pOp->p3>0 ); ** why this has to be, it just worked out that way. */
assert( pOp->p3<=p->nMem ); assert( (opProperty & OPFLG_OUT3)!=0 );
pOut = &p->aMem[pOp->p3]; assert( pOp->p3>0 );
} assert( pOp->p3<=p->nMem );
pOut = &p->aMem[pOp->p3];
}else if( (opProperty & OPFLG_IN3)!=0 ){ }else if( (opProperty & OPFLG_IN3)!=0 ){
assert( pOp->p3>0 ); assert( pOp->p3>0 );
assert( pOp->p3<=p->nMem ); assert( pOp->p3<=p->nMem );
@@ -3818,18 +3819,15 @@ case OP_Delete: {
if( pOp->p2 & OPFLAG_NCHANGE ) p->nChange++; if( pOp->p2 & OPFLAG_NCHANGE ) p->nChange++;
break; break;
} }
/* Opcode: ResetCount * * * * *
/* Opcode: ResetCount P1 * *
** **
** This opcode resets the VMs internal change counter to 0. If P1 is true, ** The value of the change counter is copied to the database handle
** then the value of the change counter is copied to the database handle ** change counter (returned by subsequent calls to sqlite3_changes()).
** change counter (returned by subsequent calls to sqlite3_changes()) ** Then the VMs internal change counter resets to 0.
** before it is reset. This is used by trigger programs. ** This is used by trigger programs.
*/ */
case OP_ResetCount: { case OP_ResetCount: {
if( pOp->p1 ){ sqlite3VdbeSetChanges(db, p->nChange);
sqlite3VdbeSetChanges(db, p->nChange);
}
p->nChange = 0; p->nChange = 0;
break; break;
} }