aboutsummaryrefslogtreecommitdiff
path: root/src/treeview.c
diff options
context:
space:
mode:
authordrh <>2021-07-05 02:40:29 +0000
committerdrh <>2021-07-05 02:40:29 +0000
commite46292a9203e83558353f285ee8fdc07667c01db (patch)
treeb81ab2ef8b292024e00322c3e0f510a0f47064e6 /src/treeview.c
parent10f08270e11937aa43ef62fcfb0f9650a7eb4deb (diff)
downloadsqlite-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.c5
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;
}