Further enhancements to make sure the correct returnning trigger is run when
there are nested INSERT RETURNING statements. FossilOrigin-Name: d83405e870b071540b56e76291bdce1388db80b860afd68a34e4233f6ff2a3ab
This commit is contained in:
+9
-2
@@ -970,10 +970,17 @@ static void codeReturningTrigger(
|
||||
SrcList sFrom;
|
||||
|
||||
assert( v!=0 );
|
||||
if( !pParse->bReturning ) return;
|
||||
if( !pParse->bReturning ){
|
||||
/* This RETURNING trigger must be for a different statement as
|
||||
** this statement lacks a RETURNING clause. */
|
||||
return;
|
||||
}
|
||||
assert( db->pParse==pParse );
|
||||
pReturning = pParse->u1.pReturning;
|
||||
assert( pTrigger == &(pReturning->retTrig) );
|
||||
if( pTrigger != &(pReturning->retTrig) ){
|
||||
/* This RETURNING trigger is for a different statement */
|
||||
return;
|
||||
}
|
||||
memset(&sSelect, 0, sizeof(sSelect));
|
||||
memset(&sFrom, 0, sizeof(sFrom));
|
||||
sSelect.pEList = sqlite3ExprListDup(db, pReturning->pReturnEL, 0);
|
||||
|
||||
Reference in New Issue
Block a user