aboutsummaryrefslogtreecommitdiff
path: root/src/resolve.c
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2012-12-06 21:16:43 +0000
committerdrh <drh@noemail.net>2012-12-06 21:16:43 +0000
commitae80ddea9f4cf8505b5a27aeec3fa8b959218064 (patch)
tree31d97436c90f393923622de6d6183332626a8f8c /src/resolve.c
parent74358f0c77665c34db821fff16bcce51004d8185 (diff)
downloadsqlite-ae80ddea9f4cf8505b5a27aeec3fa8b959218064.tar.gz
sqlite-ae80ddea9f4cf8505b5a27aeec3fa8b959218064.zip
Remove the Expr.pColl field and compute the collating sequence as it is needed.
This fixes the test script "shared9.test", though there is still a memory leak. And there are other problems. Consider this a work-in-progress. FossilOrigin-Name: fd011cb22f2d899d94ec7ce22641d7a8f5e19972
Diffstat (limited to 'src/resolve.c')
-rw-r--r--src/resolve.c9
1 files changed, 1 insertions, 8 deletions
diff --git a/src/resolve.c b/src/resolve.c
index 0ffc63355..c2b0523f0 100644
--- a/src/resolve.c
+++ b/src/resolve.c
@@ -114,10 +114,6 @@ static void resolveAlias(
pDup->flags2 |= EP2_MallocedToken;
pDup->u.zToken = sqlite3DbStrDup(db, zToken);
}
- if( pExpr->flags & EP_ExpCollate ){
- pDup->pColl = pExpr->pColl;
- pDup->flags |= EP_ExpCollate;
- }
/* Before calling sqlite3ExprDelete(), set the EP_Static flag. This
** prevents ExprDelete() from deleting the Expr structure itself,
@@ -830,13 +826,10 @@ static int resolveCompoundOrderBy(
}
}
if( iCol>0 ){
- CollSeq *pColl = pE->pColl;
- int flags = pE->flags & EP_ExpCollate;
sqlite3ExprDelete(db, pE);
pItem->pExpr = pE = sqlite3Expr(db, TK_INTEGER, 0);
if( pE==0 ) return 1;
- pE->pColl = pColl;
- pE->flags |= EP_IntValue | flags;
+ pE->flags |= EP_IntValue;
pE->u.iValue = iCol;
pItem->iOrderByCol = (u16)iCol;
pItem->done = 1;