mirror of
https://github.com/sqlite/sqlite.git
synced 2025-08-05 15:55:57 +03:00
Another attempt to get trigger selection correct for RETURNING triggers.
FossilOrigin-Name: 1b8ed52275a54800df90682d694b482f55f26c6c4a420659f9a3b7bfc61e8abe
This commit is contained in:
@@ -740,7 +740,8 @@ Trigger *sqlite3TriggersExist(
|
||||
for(p=pList; p; p=p->pNext){
|
||||
if( p->op==op && checkColumnOverlap(p->pColumns, pChanges) ){
|
||||
mask |= p->tr_tm;
|
||||
}else if( p->bReturning && (p->op==TK_RETURNING || p->op!=TK_DELETE) ){
|
||||
}else if( p->bReturning
|
||||
&& (p->op==TK_RETURNING || (p->op!=TK_DELETE && op!=TK_DELETE)) ){
|
||||
p->op = op;
|
||||
mask |= TRIGGER_AFTER;
|
||||
}
|
||||
@@ -1221,6 +1222,7 @@ void sqlite3CodeRowTrigger(
|
||||
&& p->tr_tm==tr_tm
|
||||
&& checkColumnOverlap(p->pColumns, pChanges)
|
||||
){
|
||||
p->op = op;
|
||||
sqlite3CodeRowTriggerDirect(pParse, p, pTab, reg, orconf, ignoreJump);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user