diff options
author | drh <> | 2021-04-01 11:30:23 +0000 |
---|---|---|
committer | drh <> | 2021-04-01 11:30:23 +0000 |
commit | ea602ac6b09aee6fb42d512148b76e01d9e25be0 (patch) | |
tree | fb86fb8142c40036c547dc42836aee34d8befdae /src/resolve.c | |
parent | 378c763eb354b763109f3c9a6b65b07a33ccf321 (diff) | |
download | sqlite-ea602ac6b09aee6fb42d512148b76e01d9e25be0.tar.gz sqlite-ea602ac6b09aee6fb42d512148b76e01d9e25be0.zip |
When resolving names in the RETURNING clause, do not accept trigger names
even within subquires.
FossilOrigin-Name: 8541c71b35fd529ee3addd51fd51279bc1fb35dd6b6ceee3ed22c06df0e3d02e
Diffstat (limited to 'src/resolve.c')
-rw-r--r-- | src/resolve.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/resolve.c b/src/resolve.c index f2578abff..5ddfa4df3 100644 --- a/src/resolve.c +++ b/src/resolve.c @@ -376,8 +376,10 @@ static int lookupName( if( pParse->pTriggerTab!=0 ){ int op = pParse->eTriggerOp; assert( op==TK_DELETE || op==TK_UPDATE || op==TK_INSERT ); - if( pParse->bReturning && (pNC->ncFlags & NC_UBaseReg)!=0 ){ - if( zTab==0 || sqlite3StrICmp(zTab,pParse->pTriggerTab->zName)==0 ){ + if( pParse->bReturning ){ + if( (pNC->ncFlags & NC_UBaseReg)!=0 + && (zTab==0 || sqlite3StrICmp(zTab,pParse->pTriggerTab->zName)==0) + ){ pExpr->iTable = op!=TK_DELETE; pTab = pParse->pTriggerTab; } |