diff options
author | drh <drh@noemail.net> | 2019-05-10 14:03:07 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2019-05-10 14:03:07 +0000 |
commit | 2ce9b6bcd500c8836748aa5b34bcb02b7f145e90 (patch) | |
tree | 126afb712a5f701f1969e88d9b70be1988f47ea6 /src | |
parent | 7e6dc5d9081f20a52ae38d6f5009cbfaf3bf72dc (diff) | |
download | sqlite-2ce9b6bcd500c8836748aa5b34bcb02b7f145e90.tar.gz sqlite-2ce9b6bcd500c8836748aa5b34bcb02b7f145e90.zip |
Improved comments and extra assert() statements on the OP_Savepoint opcode,
just to make the code a little easier to read and reason about.
FossilOrigin-Name: e80b2d9fcbc82ae5dc8a1fc13196f9a30bdb504eb5a5c131d136a78bbd5bbe7b
Diffstat (limited to 'src')
-rw-r--r-- | src/vdbe.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/vdbe.c b/src/vdbe.c index 28916100d..90a000d32 100644 --- a/src/vdbe.c +++ b/src/vdbe.c @@ -3030,8 +3030,9 @@ case OP_Count: { /* out2 */ /* Opcode: Savepoint P1 * * P4 * ** ** Open, release or rollback the savepoint named by parameter P4, depending -** on the value of P1. To open a new savepoint, P1==0. To release (commit) an -** existing savepoint, P1==1, or to rollback an existing savepoint P1==2. +** on the value of P1. To open a new savepoint set P1==0 (SAVEPOINT_BEGIN). +** To release (commit) an existing savepoint set P1==1 (SAVEPOINT_RELEASE). +** To rollback an existing savepoint set P1==2 (SAVEPOINT_ROLLBACK). */ case OP_Savepoint: { int p1; /* Value of P1 operand */ @@ -3099,6 +3100,7 @@ case OP_Savepoint: { } } }else{ + assert( p1==SAVEPOINT_RELEASE || p1==SAVEPOINT_ROLLBACK ); iSavepoint = 0; /* Find the named savepoint. If there is no such savepoint, then an @@ -3152,6 +3154,7 @@ case OP_Savepoint: { if( rc!=SQLITE_OK ) goto abort_due_to_error; } }else{ + assert( p1==SAVEPOINT_RELEASE ); isSchemaChange = 0; } for(ii=0; ii<db->nDb; ii++){ @@ -3188,6 +3191,7 @@ case OP_Savepoint: { db->nSavepoint--; } }else{ + assert( p1==SAVEPOINT_ROLLBACK ); db->nDeferredCons = pSavepoint->nDeferredCons; db->nDeferredImmCons = pSavepoint->nDeferredImmCons; } |