aboutsummaryrefslogtreecommitdiff
path: root/src/expr.c
diff options
context:
space:
mode:
authordan <dan@noemail.net>2014-01-15 18:12:00 +0000
committerdan <dan@noemail.net>2014-01-15 18:12:00 +0000
commitf43fe6e9f6e8e7e7c2ab43234f46c5767f63b27c (patch)
treeabed19fa9b97c3725d24960c02a0abaf45f70a69 /src/expr.c
parent60e7068d75acc643cfd045a7cb90d635079f3457 (diff)
downloadsqlite-f43fe6e9f6e8e7e7c2ab43234f46c5767f63b27c.tar.gz
sqlite-f43fe6e9f6e8e7e7c2ab43234f46c5767f63b27c.zip
When resolving names, consider a reference to a recursive CTE column as equivalent to a reference to the outermost name-context. This ensures that correlated sub-queries are correctly identified as such.
FossilOrigin-Name: 61be2da0ae623c1572819481508b044e9d32f294
Diffstat (limited to 'src/expr.c')
-rw-r--r--src/expr.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/expr.c b/src/expr.c
index fca03a8d9..9a288b73b 100644
--- a/src/expr.c
+++ b/src/expr.c
@@ -998,6 +998,7 @@ SrcList *sqlite3SrcListDup(sqlite3 *db, SrcList *p, int flags){
pNewItem->regReturn = pOldItem->regReturn;
pNewItem->isCorrelated = pOldItem->isCorrelated;
pNewItem->viaCoroutine = pOldItem->viaCoroutine;
+ pNewItem->isRecursive = pOldItem->isRecursive;
pNewItem->zIndex = sqlite3DbStrDup(db, pOldItem->zIndex);
pNewItem->notIndexed = pOldItem->notIndexed;
pNewItem->pIndex = pOldItem->pIndex;