Allocate KeyInfo objects from lookaside if possible.

FossilOrigin-Name: b411107a3609d53af4e147f01e311b858b78420b
This commit is contained in:
drh 2016-06-04 17:12:26 +00:00
parent 30e3fdf0ee
commit f94fdd832c
3 changed files with 9 additions and 9 deletions

View File

@ -1,5 +1,5 @@
C Fix\sup\sspeedtest1.c\sso\sthat\sit\swill\scompile\sand\srun\son\sSQLite\sversions\sprior\nto\s3.6.18\s(circa\s2009-09-11). C Allocate\sKeyInfo\sobjects\sfrom\slookaside\sif\spossible.
D 2016-06-04T16:33:48.064 D 2016-06-04T17:12:26.466
F Makefile.in 7321ef0b584224781ec7731408857fa8962c32cc F Makefile.in 7321ef0b584224781ec7731408857fa8962c32cc
F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434 F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
F Makefile.msc 831503fc4e988f571590af1405645fff121b5f1e F Makefile.msc 831503fc4e988f571590af1405645fff121b5f1e
@ -382,7 +382,7 @@ F src/printf.c a5f0ca08ddede803c241266abb46356ec748ded1
F src/random.c ba2679f80ec82c4190062d756f22d0c358180696 F src/random.c ba2679f80ec82c4190062d756f22d0c358180696
F src/resolve.c cca3aa77b95706df5d635a2141a4d1de60ae6598 F src/resolve.c cca3aa77b95706df5d635a2141a4d1de60ae6598
F src/rowset.c 7b7e7e479212e65b723bf40128c7b36dc5afdfac F src/rowset.c 7b7e7e479212e65b723bf40128c7b36dc5afdfac
F src/select.c a0c4abf54bc6bd3a9c77a36ef3d1676045706cb2 F src/select.c f3c6e9065fb34f6a23af27ec7f1f717ffbfc2ee4
F src/shell.c 14ff7f660530a52b117d110ba3390b7b2eb719b6 F src/shell.c 14ff7f660530a52b117d110ba3390b7b2eb719b6
F src/sqlite.h.in 5f8113dbec74c6c093ead9930afb8c9fbd9f643d F src/sqlite.h.in 5f8113dbec74c6c093ead9930afb8c9fbd9f643d
F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8 F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8
@ -1500,7 +1500,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
P 313e990c741d7db082f1d9b9f3f4c65fdd91b812 P 9583c0fb39f357a76e0c99ea03b034aea3e03c75
R 0ccf0692aa5b1e3235a74f8650fcfe4f R 065fce549d6916be91d3267449fff27c
U drh U drh
Z a2bd3a06dcb83b470b97f0c6e2306afd Z 36eef125b8bc40e49e28e0447e72ab1c

View File

@ -1 +1 @@
9583c0fb39f357a76e0c99ea03b034aea3e03c75 b411107a3609d53af4e147f01e311b858b78420b

View File

@ -1028,7 +1028,7 @@ static void selectInnerLoop(
*/ */
KeyInfo *sqlite3KeyInfoAlloc(sqlite3 *db, int N, int X){ KeyInfo *sqlite3KeyInfoAlloc(sqlite3 *db, int N, int X){
int nExtra = (N+X)*(sizeof(CollSeq*)+1); int nExtra = (N+X)*(sizeof(CollSeq*)+1);
KeyInfo *p = sqlite3Malloc(sizeof(KeyInfo) + nExtra); KeyInfo *p = sqlite3DbMallocRaw(db, sizeof(KeyInfo) + nExtra);
if( p ){ if( p ){
p->aSortOrder = (u8*)&p->aColl[N+X]; p->aSortOrder = (u8*)&p->aColl[N+X];
p->nField = (u16)N; p->nField = (u16)N;
@ -1050,7 +1050,7 @@ void sqlite3KeyInfoUnref(KeyInfo *p){
if( p ){ if( p ){
assert( p->nRef>0 ); assert( p->nRef>0 );
p->nRef--; p->nRef--;
if( p->nRef==0 ) sqlite3DbFree(0, p); if( p->nRef==0 ) sqlite3DbFree(p->db, p);
} }
} }