From: drh Date: Sat, 6 Dec 2008 16:10:42 +0000 (+0000) Subject: Make sure the KeyInfo object attached to a transient table used for X-Git-Tag: version-3.6.10~197 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2aca5846da68a40d9f1fddd74107ddd50ddf5173;p=thirdparty%2Fsqlite.git 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 --- diff --git a/manifest b/manifest index 18d9909619..5d0ceae957 100644 --- a/manifest +++ b/manifest @@ -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 diff --git a/manifest.uuid b/manifest.uuid index a5fe11cf25..24be55b435 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -5c0fe63a6374abe98e45c11ada54c064c19bbab8 \ No newline at end of file +76246d9f0d4e995f6be6fbd1fa2bcabc1b9566ae \ No newline at end of file diff --git a/src/select.c b/src/select.c index 48ded47a6e..f1cf0dc359 100644 --- a/src/select.c +++ b/src/select.c @@ -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; ipExpr);