diff options
author | drh <drh@noemail.net> | 2009-05-28 12:49:53 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2009-05-28 12:49:53 +0000 |
commit | 0b0745ae37a57b2473f953acec01383c84f2232d (patch) | |
tree | 7b989c004ef5bec5adb10ba5eed87c46f2722297 /src/resolve.c | |
parent | 4b0aa4cf3e80062ba00b62236bc4dcc97ae64c65 (diff) | |
download | sqlite-0b0745ae37a57b2473f953acec01383c84f2232d.tar.gz sqlite-0b0745ae37a57b2473f953acec01383c84f2232d.zip |
Make sure the column name resolver does not try to duplicate Expr.u.zToken
when the Expr.u.iValue union member is the element being used. (CVS 6684)
FossilOrigin-Name: 376ecf0d87e4a2329f5861401f83ed9ceb35d528
Diffstat (limited to 'src/resolve.c')
-rw-r--r-- | src/resolve.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/resolve.c b/src/resolve.c index 015fe4bf7..b536dcfe0 100644 --- a/src/resolve.c +++ b/src/resolve.c @@ -14,7 +14,7 @@ ** resolve all identifiers by associating them with a particular ** table and column. ** -** $Id: resolve.c,v 1.24 2009/05/28 01:00:55 drh Exp $ +** $Id: resolve.c,v 1.25 2009/05/28 12:49:53 drh Exp $ */ #include "sqliteInt.h" #include <stdlib.h> @@ -71,6 +71,8 @@ static void resolveAlias( pEList->a[iCol].iAlias = (u16)(++pParse->nAlias); } pDup->iTable = pEList->a[iCol].iAlias; + }else if( ExprHasProperty(pOrig, EP_IntValue) || pOrig->u.zToken==0 ){ + pDup = sqlite3ExprDup(db, pOrig, 0); }else{ char *zToken = pOrig->u.zToken; pOrig->u.zToken = 0; |