-C Remove\sthe\sExpr.pColl\sfield\sand\scompute\sthe\scollating\ssequence\sas\sit\sis\sneeded.\nThis\sfixes\sthe\stest\sscript\s"shared9.test",\sthough\sthere\sis\sstill\sa\smemory\sleak.\nAnd\sthere\sare\sother\sproblems.\s\sConsider\sthis\sa\swork-in-progress.
-D 2012-12-06T21:16:43.401
+C Veryquick\snow\srow\sto\scompletion\swithout\ssegfaulting\sor\sasserting.\s\sBut\sthere\nare\sstill\slots\sof\serrors.
+D 2012-12-07T14:02:14.202
F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
F Makefile.in 690d441a758cbffd13e814dc2724a721a6ebd400
F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
F src/ctime.c 72a70dcfda75d3a1f81041ce4573e7afddcd8e4e
F src/date.c 067a81c9942c497aafd2c260e13add8a7d0c7dd4
F src/delete.c 9b8d308979114991e5dc7cee958316e07186941d
-F src/expr.c 696c9e664a3d0405fb83ed206500809519f9c1a7
+F src/expr.c f4bb756c02bb5cd1b020f3c9f760961506c18f3c
F src/fault.c 160a0c015b6c2629d3899ed2daf63d75754a32bb
-F src/fkey.c ca70996e72b307d58718e4d1f11668ff76d5f2d4
+F src/fkey.c 0ef356ae0c6f5ccbef14f9fdc8eaf890188148f2
F src/func.c 8147799b048065a1590805be464d05b4913e652c
F src/global.c e59ecd2c553ad0d4bfbc84ca71231336f8993a7a
F src/hash.c ac3470bbf1ca4ae4e306a8ecb0fdf1731810ffe4
F src/prepare.c 931ad0d852a0df48f79adcba6ce79ca5f475625c
F src/printf.c 4a9f882f1c1787a8b494a2987765acf9d97ac21f
F src/random.c cd4a67b3953b88019f8cd4ccd81394a8ddfaba50
-F src/resolve.c 6faf0f337ef89f7f9f6142d766793a87074612dc
+F src/resolve.c c05083cb7f72090c238af7082b52e678b6b6f12a
F src/rowset.c 64655f1a627c9c212d9ab497899e7424a34222e0
-F src/select.c da1af4c2f1ff4d280aa68eb58b714e9b7d0fc1c3
+F src/select.c eb3ded8d6ffcbab20dc3e65ba6a6dc13a01e7fbf
F src/shell.c e392dd1ccbb77cc1d75a8367a89b473c24bea019
F src/sqlite.h.in 4e71a210f383b6d060bd3fdf81d850f0f8c4eca3
F src/sqlite3.rc fea433eb0a59f4c9393c8e6d76a6e2596b1fe0c0
F src/wal.c f5c7b5027d0ed0e9bc9afeb4a3a8dfea762ec7d2
F src/wal.h 29c197540b19044e6cd73487017e5e47a1d3dac6
F src/walker.c 3d75ba73de15e0f8cd0737643badbeb0e002f07b
-F src/where.c 1c7ff5ad06fe23d9d46008a23f9118926bb4fcb7
+F src/where.c e415f9834292ad93033fe3956b22030462744ce1
F test/8_3_names.test 631ea964a3edb091cf73c3b540f6bcfdb36ce823
F test/aggerror.test a867e273ef9e3d7919f03ef4f0e8c0d2767944f2
F test/aggnested.test 45c0201e28045ad38a530b5a144b73cd4aa2cfd6
F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
F tool/warnings.sh fbc018d67fd7395f440c28f33ef0f94420226381
F tool/win/sqlite.vsix 97894c2790eda7b5bce3cc79cb2a8ec2fde9b3ac
-P cc6e0785df3c2342376351e19ba7dba7b8d2f6a3
-R a2a449d5f80e428bd0ee765a55dfac68
+P fd011cb22f2d899d94ec7ce22641d7a8f5e19972
+R ba9600466f631bd82f758c001af1c41a
U drh
-Z 434d5050577e1426f5ec867bc43f759c
+Z 54f2a394eca4714e815d413b6b9d3ddf
break;
}
if( p->flags & EP_Collate ){
- if( p->pLeft->flags & EP_Collate ){
+ if( p->pLeft && (p->pLeft->flags & EP_Collate)!=0 ){
p = p->pLeft;
}else{
p = p->pRight;
}else{
break;
}
-#if 0
- else if( p->flags & EP_TokenOnly ){
- break;
- }else{
- pColl = sqlite3ExprCollSeq(pParse, p->pLeft);
- p = p->pRight;
- }
-#endif
}
if( sqlite3CheckCollSeq(pParse, pColl) ){
pColl = 0;
int r1 = ++pParse->nMem;
int r2;
r2 = sqlite3ExprCodeTarget(pParse, pExpr, r1);
- if( NEVER(r1!=r2) ) sqlite3ReleaseTempReg(pParse, r1);
+ if( r1!=r2 ) sqlite3ReleaseTempReg(pParse, r1);
pExpr->op2 = pExpr->op;
pExpr->op = TK_REGISTER;
pExpr->iTable = r2;
return pA->op==TK_COLLATE ? 1 : 2;
}
}
+ if( (pA->flags&EP_Collate)!=(pB->flags&EP_Collate) ) return 1;
return 0;
}
** expression to the parent key column defaults. */
if( pIdx ){
Column *pCol;
+ Expr *pNew;
+ Token s;
iCol = pIdx->aiColumn[i];
pCol = &pTab->aCol[iCol];
if( pTab->iPKey==iCol ) iCol = -1;
pLeft->iTable = regData+iCol+1;
pLeft->affinity = pCol->affinity;
- // fix me. pLeft->pColl = sqlite3LocateCollSeq(pParse, pCol->zColl);
+ s.z = pCol->zColl;
+ s.n = sqlite3Strlen30(s.z);
+ pNew = sqlite3ExprSetCollByToken(pParse, pLeft, &s);
+ if( pNew ) pLeft = pNew;
}else{
pLeft->iTable = regData;
pLeft->affinity = SQLITE_AFF_INTEGER;