diff options
author | dan <dan@noemail.net> | 2018-08-24 20:10:22 +0000 |
---|---|---|
committer | dan <dan@noemail.net> | 2018-08-24 20:10:22 +0000 |
commit | 85a9d508dffa519ab37c02a1702002ad3a8f3d85 (patch) | |
tree | a57bdb4153963a2f03064b31f103a61889d5ac0c /src/resolve.c | |
parent | 0d5fa6b9798f682b2463d14a343489df3752aff6 (diff) | |
download | sqlite-85a9d508dffa519ab37c02a1702002ad3a8f3d85.tar.gz sqlite-85a9d508dffa519ab37c02a1702002ad3a8f3d85.zip |
Fix a problem with renaming a column that occurs as an "excluded.colname"
construction in an UPSERT that is part of a trigger program.
FossilOrigin-Name: bb2f7234968157b605522dea8e115d8772ab4234147894089d6e48fedf5d6a5d
Diffstat (limited to 'src/resolve.c')
-rw-r--r-- | src/resolve.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/resolve.c b/src/resolve.c index 3ac6f5305..a754ae846 100644 --- a/src/resolve.c +++ b/src/resolve.c @@ -349,9 +349,15 @@ static int lookupName( #ifndef SQLITE_OMIT_UPSERT if( pExpr->iTable==2 ){ testcase( iCol==(-1) ); - pExpr->iTable = pNC->uNC.pUpsert->regData + iCol; - eNewExprOp = TK_REGISTER; - ExprSetProperty(pExpr, EP_Alias); + if( IN_RENAME_COLUMN ){ + pExpr->iColumn = iCol; + pExpr->pTab = pTab; + eNewExprOp = TK_COLUMN; + }else{ + pExpr->iTable = pNC->uNC.pUpsert->regData + iCol; + eNewExprOp = TK_REGISTER; + ExprSetProperty(pExpr, EP_Alias); + } }else #endif /* SQLITE_OMIT_UPSERT */ { |