diff options
author | drh <drh@noemail.net> | 2012-12-19 02:36:45 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2012-12-19 02:36:45 +0000 |
commit | 8f25d18b21c2f8076b02ced2b57ef3bc29b56427 (patch) | |
tree | d6a3c38f5145d3f413f0e99f1807bc0f6c078153 /src/select.c | |
parent | 832ee3d4ccf2941b17e718743ae7283f2e97a571 (diff) | |
download | sqlite-8f25d18b21c2f8076b02ced2b57ef3bc29b56427.tar.gz sqlite-8f25d18b21c2f8076b02ced2b57ef3bc29b56427.zip |
Better resolution of table and column names in joins where some of the
terms of the FROM clause are parenthesized.
FossilOrigin-Name: 7344e791b9456286ecdca6d45f2f5260fb3f10e2
Diffstat (limited to 'src/select.c')
-rw-r--r-- | src/select.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/select.c b/src/select.c index 711669ae8..2f20e7aa5 100644 --- a/src/select.c +++ b/src/select.c @@ -3392,7 +3392,8 @@ static int selectExpander(Walker *pWalker, Select *p){ ExprList *pNew = 0; int flags = pParse->db->flags; int longNames = (flags & SQLITE_FullColNames)!=0 - && (flags & SQLITE_ShortColNames)==0; + && (flags & SQLITE_ShortColNames)==0 + && (p->selFlags & SF_NestedFrom)==0; for(k=0; k<pEList->nExpr; k++){ Expr *pE = a[k].pExpr; @@ -3479,6 +3480,9 @@ static int selectExpander(Walker *pWalker, Select *p){ sColname.z = zColname; sColname.n = sqlite3Strlen30(zColname); sqlite3ExprListSetName(pParse, pNew, &sColname, 0); + if( pNew && (p->selFlags & SF_NestedFrom)!=0 ){ + pNew->a[pNew->nExpr-1].zSpan = sqlite3DbStrDup(db, zTabName); + } sqlite3DbFree(db, zToFree); } } |