aboutsummaryrefslogtreecommitdiff
path: root/src/resolve.c
diff options
context:
space:
mode:
authordan <dan@noemail.net>2018-08-24 20:10:22 +0000
committerdan <dan@noemail.net>2018-08-24 20:10:22 +0000
commit85a9d508dffa519ab37c02a1702002ad3a8f3d85 (patch)
treea57bdb4153963a2f03064b31f103a61889d5ac0c /src/resolve.c
parent0d5fa6b9798f682b2463d14a343489df3752aff6 (diff)
downloadsqlite-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.c12
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 */
{