diff options
author | danielk1977 <danielk1977@noemail.net> | 2004-05-31 08:26:49 +0000 |
---|---|---|
committer | danielk1977 <danielk1977@noemail.net> | 2004-05-31 08:26:49 +0000 |
commit | 1d850a72c265ad9368b322ca39125c9b0c3d8509 (patch) | |
tree | 3ae42a002f87796ecea58f7094dea2096fa4439a /src/trigger.c | |
parent | a19b775db9b2f12263e54cf0f64162ced526fff5 (diff) | |
download | sqlite-1d850a72c265ad9368b322ca39125c9b0c3d8509.tar.gz sqlite-1d850a72c265ad9368b322ca39125c9b0c3d8509.zip |
Replace OP_Begin, OP_Commit and OP_Rollback with OP_AutoCommit. (CVS 1500)
FossilOrigin-Name: b8ed812c92f2dbb4431d45aeb41646ceb53e0cbc
Diffstat (limited to 'src/trigger.c')
-rw-r--r-- | src/trigger.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/trigger.c b/src/trigger.c index bb4499847..20f71b57d 100644 --- a/src/trigger.c +++ b/src/trigger.c @@ -231,8 +231,8 @@ void sqlite3FinishTrigger( sqlite3VdbeChangeP3(v, addr+2, nt->name, 0); sqlite3VdbeChangeP3(v, addr+3, nt->table, 0); sqlite3VdbeChangeP3(v, addr+6, pAll->z, pAll->n); - if( nt->iDb==0 ){ - sqlite3ChangeCookie(db, v, 0); + if( nt->iDb!=0 ){ + sqlite3ChangeCookie(db, v, nt->iDb); } sqlite3VdbeAddOp(v, OP_Close, 0, 0); sqlite3EndWriteOperation(pParse); @@ -488,8 +488,8 @@ void sqlite3DropTriggerPtr(Parse *pParse, Trigger *pTrigger, int nested){ sqlite3OpenMasterTable(v, pTrigger->iDb); base = sqlite3VdbeAddOpList(v, ArraySize(dropTrigger), dropTrigger); sqlite3VdbeChangeP3(v, base+1, pTrigger->name, 0); - if( pTrigger->iDb==0 ){ - sqlite3ChangeCookie(db, v, 0); + if( pTrigger->iDb!=1 ){ + sqlite3ChangeCookie(db, v, pTrigger->iDb); } sqlite3VdbeAddOp(v, OP_Close, 0, 0); sqlite3EndWriteOperation(pParse); @@ -711,6 +711,7 @@ int sqlite3CodeRowTrigger( ){ Trigger * pTrigger; TriggerStack * pTriggerStack; + u64 cookieMask = pParse->cookieMask; assert(op == TK_UPDATE || op == TK_INSERT || op == TK_DELETE); assert(tr_tm == TK_BEFORE || tr_tm == TK_AFTER ); @@ -782,6 +783,7 @@ int sqlite3CodeRowTrigger( pTrigger = pTrigger->pNext; } + pParse->cookieMask = cookieMask; return 0; } |