diff options
author | drh <> | 2021-10-01 02:16:52 +0000 |
---|---|---|
committer | drh <> | 2021-10-01 02:16:52 +0000 |
commit | 817424fe377dd4980f23a37125da8f39abdaba1c (patch) | |
tree | 7d52741b38a254d143147778a12e4fc6863e4fa1 /src/expr.c | |
parent | f06db3e8929e36f7686ccc8f9f138359c6b12e80 (diff) | |
parent | afaa660aef3d596fabbbcf6e99746294f77dbafa (diff) | |
download | sqlite-817424fe377dd4980f23a37125da8f39abdaba1c.tar.gz sqlite-817424fe377dd4980f23a37125da8f39abdaba1c.zip |
Merge updates from trunk
FossilOrigin-Name: 35351371c5e9602dec210ad0926ff8a1a269556ce1a166e81eb0543938e0c57e
Diffstat (limited to 'src/expr.c')
-rw-r--r-- | src/expr.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/expr.c b/src/expr.c index 5b7a58fb5..d121fbfd2 100644 --- a/src/expr.c +++ b/src/expr.c @@ -516,12 +516,16 @@ Expr *sqlite3ExprForVectorField( pRet->pLeft = pVector; } }else{ - if( pVector->op==TK_VECTOR ) pVector = pVector->x.pList->a[iField].pExpr; - pRet = sqlite3ExprDup(pParse->db, pVector, 0); - if( IN_RENAME_OBJECT && pRet ){ - SWAP(Expr, *pRet, *pVector); - sqlite3RenameTokenRemap(pParse, pRet, pVector); + if( pVector->op==TK_VECTOR ){ + Expr **ppVector = &pVector->x.pList->a[iField].pExpr; + pVector = *ppVector; + if( IN_RENAME_OBJECT ){ + /* This must be a vector UPDATE inside a trigger */ + *ppVector = 0; + return pVector; + } } + pRet = sqlite3ExprDup(pParse->db, pVector, 0); } return pRet; } |