Testability improvements for the ONEPASS_MULTI enhancement.
FossilOrigin-Name: d2df93f26fc0cf6fe01acfeaf2946972e9d8cca2
This commit is contained in:
parent
b1ff90673c
commit
b79d5529af
12
manifest
12
manifest
@ -1,5 +1,5 @@
|
||||
C Fix\sa\stypo\sin\san\sSQLITE_USER_AUTHENTICATION\smacro.
|
||||
D 2015-09-14T14:49:23.201
|
||||
C Testability\simprovements\sfor\sthe\sONEPASS_MULTI\senhancement.
|
||||
D 2015-09-14T19:26:37.988
|
||||
F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
|
||||
F Makefile.in f85066ce844a28b671aaeeff320921cd0ce36239
|
||||
F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
|
||||
@ -403,7 +403,7 @@ F src/update.c eb7ab3ff2928628692a4f14be397c95f4a681d97
|
||||
F src/utf.c fc6b889ba0779b7722634cdeaa25f1930d93820c
|
||||
F src/util.c fc612367108b74573c5fd13a85d0a23027f438bd
|
||||
F src/vacuum.c 2ddd5cad2a7b9cef7f9e431b8c7771634c6b1701
|
||||
F src/vdbe.c a8a5cb1126bf79104e00326abd6a7d22ac3bc4c3
|
||||
F src/vdbe.c 5048103aa6bc9c01bf1a4620729256d1e873bb6c
|
||||
F src/vdbe.h 4bc88bd0e06f8046ee6ab7487c0015e85ad949ad
|
||||
F src/vdbeInt.h 8b867eac234e28627ffcace3cd4b4b79bbec664b
|
||||
F src/vdbeapi.c 0d890f57caf143b114a95ce699e59af51359c508
|
||||
@ -1387,7 +1387,7 @@ F tool/vdbe_profile.tcl 67746953071a9f8f2f668b73fe899074e2c6d8c1
|
||||
F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
|
||||
F tool/warnings.sh 48bd54594752d5be3337f12c72f28d2080cb630b
|
||||
F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
|
||||
P 16e56bdadef903c6439a487f2683388aeeb0c625
|
||||
R f8fa410ffd0eb073e2e43d46c84640d3
|
||||
P 379455af9fdfb299a857d46f35f0a76ed6daa08a
|
||||
R 240d53905959924a39a1969f0c2c4fad
|
||||
U drh
|
||||
Z 5de1b91d25cb0490451927525818647a
|
||||
Z db76ee6590838fdbed88f2282d6173bf
|
||||
|
@ -1 +1 @@
|
||||
379455af9fdfb299a857d46f35f0a76ed6daa08a
|
||||
d2df93f26fc0cf6fe01acfeaf2946972e9d8cca2
|
15
src/vdbe.c
15
src/vdbe.c
@ -4003,6 +4003,7 @@ case OP_NotExists: { /* jump, in3 */
|
||||
res = 0;
|
||||
iKey = pIn3->u.i;
|
||||
rc = sqlite3BtreeMovetoUnpacked(pCrsr, 0, iKey, 0, &res);
|
||||
assert( rc==SQLITE_OK || res==0 );
|
||||
pC->movetoTarget = iKey; /* Used by OP_Delete */
|
||||
pC->nullRow = 0;
|
||||
pC->cacheStatus = CACHE_STALE;
|
||||
@ -4010,8 +4011,12 @@ case OP_NotExists: { /* jump, in3 */
|
||||
VdbeBranchTaken(res!=0,2);
|
||||
pC->seekResult = res;
|
||||
if( res!=0 ){
|
||||
if( pOp->p2==0 && rc==SQLITE_OK ) rc = SQLITE_CORRUPT_BKPT;
|
||||
goto jump_to_p2;
|
||||
assert( rc==SQLITE_OK );
|
||||
if( pOp->p2==0 ){
|
||||
rc = SQLITE_CORRUPT_BKPT;
|
||||
}else{
|
||||
goto jump_to_p2;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
@ -4301,6 +4306,7 @@ case OP_InsertInt: {
|
||||
*/
|
||||
case OP_Delete: {
|
||||
VdbeCursor *pC;
|
||||
u8 hasUpdateCallback;
|
||||
|
||||
assert( pOp->p1>=0 && pOp->p1<p->nCursor );
|
||||
pC = p->apCsr[pOp->p1];
|
||||
@ -4308,7 +4314,8 @@ case OP_Delete: {
|
||||
assert( pC->pCursor!=0 ); /* Only valid for real tables, no pseudotables */
|
||||
assert( pC->deferredMoveto==0 );
|
||||
|
||||
if( pOp->p5 && db->xUpdateCallback && pOp->p4.z && pC->isTable ){
|
||||
hasUpdateCallback = db->xUpdateCallback && pOp->p4.z && pC->isTable;
|
||||
if( pOp->p5 && hasUpdateCallback ){
|
||||
sqlite3BtreeKeySize(pC->pCursor, &pC->movetoTarget);
|
||||
}
|
||||
|
||||
@ -4327,7 +4334,7 @@ case OP_Delete: {
|
||||
pC->cacheStatus = CACHE_STALE;
|
||||
|
||||
/* Invoke the update-hook if required. */
|
||||
if( rc==SQLITE_OK && db->xUpdateCallback && pOp->p4.z && pC->isTable ){
|
||||
if( rc==SQLITE_OK && hasUpdateCallback ){
|
||||
db->xUpdateCallback(db->pUpdateArg, SQLITE_DELETE,
|
||||
db->aDb[pC->iDb].zName, pOp->p4.z, pC->movetoTarget);
|
||||
assert( pC->iDb>=0 );
|
||||
|
Loading…
Reference in New Issue
Block a user