Make sure the KeyInfo object attached to a transient table used for

sorting records the sqlite3 object used for memory allocation, so that
memory allocation failures on UTF16 to UTF8 conversion can be recorded. (CVS 5987)

FossilOrigin-Name: 76246d9f0d4e995f6be6fbd1fa2bcabc1b9566ae
This commit is contained in:
drh 2008-12-06 16:10:42 +00:00
parent 085bb7f094
commit 2aca5846da
3 changed files with 9 additions and 8 deletions

View File

@ -1,5 +1,5 @@
C Mark\sthe\shash\stable\senlargement\sin\spcache1.c\sas\sa\sbenign-failure\smalloc.\s(CVS\s5986)
D 2008-12-06T14:34:34
C Make\ssure\sthe\sKeyInfo\sobject\sattached\sto\sa\stransient\stable\sused\sfor\nsorting\srecords\sthe\ssqlite3\sobject\sused\sfor\smemory\sallocation,\sso\sthat\nmemory\sallocation\sfailures\son\sUTF16\sto\sUTF8\sconversion\scan\sbe\srecorded.\s(CVS\s5987)
D 2008-12-06T16:10:42
F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0
F Makefile.in f7e4c81c347b04f7b0f1c1b081a168645d7b8af7
F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654
@ -151,7 +151,7 @@ F src/printf.c e29d9475c63e1dbfae005b98da3a60e07b5c1ca5
F src/random.c a87afbd598aa877e23ac676ee92fd8ee5c786a51
F src/resolve.c 4af5391d2b4c1d6c583a6805ac6660181de4545b
F src/rowset.c 2256fa4a928f750e2f3d6fc733523034beceb1d6
F src/select.c e2127ce827914824c284046c66bf9259745b6be8
F src/select.c 1d3616e4e48f6c15a0c69bf14bc5423f31624f87
F src/shell.c be9eeb5811d1ad6ebbf6ae8b5aa04ae1368af033
F src/sqlite.h.in b5d50f12fb9c7460a4ddfef8c1e799afaabefebf
F src/sqlite3ext.h 1db7d63ab5de4b3e6b83dd03d1a4e64fef6d2a17
@ -663,7 +663,7 @@ F tool/speedtest16.c c8a9c793df96db7e4933f0852abb7a03d48f2e81
F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff
F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224
F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
P b74885e0856c46412f7cf4dca4cafb740cb9a28b
R 997ea21ad516baa17cf443328059f52c
P 5c0fe63a6374abe98e45c11ada54c064c19bbab8
R 86f2b188e8f504a14968d013240bf8e7
U drh
Z 6b35b4a449b1c4adc2bef7e3b802cdc0
Z 86dc228f8bf50a42638f9f90daeeb734

View File

@ -1 +1 @@
5c0fe63a6374abe98e45c11ada54c064c19bbab8
76246d9f0d4e995f6be6fbd1fa2bcabc1b9566ae

View File

@ -12,7 +12,7 @@
** This file contains C code routines that are called by the parser
** to handle SELECT statements in SQLite.
**
** $Id: select.c,v 1.489 2008/12/05 00:00:07 drh Exp $
** $Id: select.c,v 1.490 2008/12/06 16:10:42 drh Exp $
*/
#include "sqliteInt.h"
@ -758,6 +758,7 @@ static KeyInfo *keyInfoFromExprList(Parse *pParse, ExprList *pList){
pInfo->aSortOrder = (u8*)&pInfo->aColl[nExpr];
pInfo->nField = nExpr;
pInfo->enc = ENC(db);
pInfo->db = db;
for(i=0, pItem=pList->a; i<nExpr; i++, pItem++){
CollSeq *pColl;
pColl = sqlite3ExprCollSeq(pParse, pItem->pExpr);