diff options
author | drh <> | 2021-07-05 02:40:29 +0000 |
---|---|---|
committer | drh <> | 2021-07-05 02:40:29 +0000 |
commit | e46292a9203e83558353f285ee8fdc07667c01db (patch) | |
tree | b81ab2ef8b292024e00322c3e0f510a0f47064e6 /src/treeview.c | |
parent | 10f08270e11937aa43ef62fcfb0f9650a7eb4deb (diff) | |
download | sqlite-e46292a9203e83558353f285ee8fdc07667c01db.tar.gz sqlite-e46292a9203e83558353f285ee8fdc07667c01db.zip |
Improved rebustness in sqlite3ExprListDup() when it contains a vector assignment
from an UPDATE where the initial term is omitted. This can happen during a
UNION ALL query flattening while processing a virtual table update in which
the first term of the vector is repeated.
[forum:/forumpost/16ca0e9f32|Forum post 16ca0e9f32].
FossilOrigin-Name: 2547cfe38f8fb35109b3fc5bdfada387fe4b2b8a304156b704ab7f03f1f71198
Diffstat (limited to 'src/treeview.c')
-rw-r--r-- | src/treeview.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/treeview.c b/src/treeview.c index b6f5c529d..165ceb537 100644 --- a/src/treeview.c +++ b/src/treeview.c @@ -699,8 +699,9 @@ void sqlite3TreeViewExpr(TreeView *pView, const Expr *pExpr, u8 moreToFollow){ break; } case TK_SELECT_COLUMN: { - sqlite3TreeViewLine(pView, "SELECT-COLUMN %d of [0..%d]", - pExpr->iColumn, pExpr->iTable-1); + sqlite3TreeViewLine(pView, "SELECT-COLUMN %d of [0..%d]%s", + pExpr->iColumn, pExpr->iTable-1, + pExpr->pRight==pExpr->pLeft ? " (SELECT-owner)" : ""); sqlite3TreeViewSelect(pView, pExpr->pLeft->x.pSelect, 0); break; } |