aboutsummaryrefslogtreecommitdiff
path: root/src/resolve.c
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2009-05-28 12:49:53 +0000
committerdrh <drh@noemail.net>2009-05-28 12:49:53 +0000
commit0b0745ae37a57b2473f953acec01383c84f2232d (patch)
tree7b989c004ef5bec5adb10ba5eed87c46f2722297 /src/resolve.c
parent4b0aa4cf3e80062ba00b62236bc4dcc97ae64c65 (diff)
downloadsqlite-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.c4
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;