mirror of
https://github.com/sqlite/sqlite.git
synced 2025-08-08 14:02:16 +03:00
Small performance improvement to OP_Column.
FossilOrigin-Name: b6b73a747ad8d0f026074e41c2a4adc529ec2674
This commit is contained in:
12
manifest
12
manifest
@@ -1,5 +1,5 @@
|
|||||||
C About\sa\s3%\simprovement\sin\sthe\sperformance\sof\sOP_Column.
|
C Small\sperformance\simprovement\sto\sOP_Column.
|
||||||
D 2011-08-28T02:15:34.550
|
D 2011-08-29T02:16:18.855
|
||||||
F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
|
F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
|
||||||
F Makefile.in 8c930e7b493d59099ea1304bd0f2aed152eb3315
|
F Makefile.in 8c930e7b493d59099ea1304bd0f2aed152eb3315
|
||||||
F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
|
F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
|
||||||
@@ -238,7 +238,7 @@ F src/update.c 74a6cfb34e9732c1e2a86278b229913b4b51eeec
|
|||||||
F src/utf.c c53eb7404b3eb5c1cbb5655c6a7a0e0ce6bd50f0
|
F src/utf.c c53eb7404b3eb5c1cbb5655c6a7a0e0ce6bd50f0
|
||||||
F src/util.c 06302ffd2b80408d4f6c7af71f7090e0cf8d8ff7
|
F src/util.c 06302ffd2b80408d4f6c7af71f7090e0cf8d8ff7
|
||||||
F src/vacuum.c 05513dca036a1e7848fe18d5ed1265ac0b32365e
|
F src/vacuum.c 05513dca036a1e7848fe18d5ed1265ac0b32365e
|
||||||
F src/vdbe.c 8c9e0508ce0fe16e45c7398b3042d62c2968d779
|
F src/vdbe.c dc84628c47e76ffa5dd945afea1460815323ad91
|
||||||
F src/vdbe.h c1eeedacab6bcf1e7c2cf8203ba9763a616f9a86
|
F src/vdbe.h c1eeedacab6bcf1e7c2cf8203ba9763a616f9a86
|
||||||
F src/vdbeInt.h f9250326f264ca5f100acc19e9c07096bb889096
|
F src/vdbeInt.h f9250326f264ca5f100acc19e9c07096bb889096
|
||||||
F src/vdbeapi.c 11dc47987abacb76ad016dcf5abc0dc422482a98
|
F src/vdbeapi.c 11dc47987abacb76ad016dcf5abc0dc422482a98
|
||||||
@@ -961,7 +961,7 @@ F tool/symbols.sh caaf6ccc7300fd43353318b44524853e222557d5
|
|||||||
F tool/tostr.awk 11760e1b94a5d3dcd42378f3cc18544c06cfa576
|
F tool/tostr.awk 11760e1b94a5d3dcd42378f3cc18544c06cfa576
|
||||||
F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f
|
F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f
|
||||||
F tool/warnings.sh b7fdb2cc525f5ef4fa43c80e771636dd3690f9d2
|
F tool/warnings.sh b7fdb2cc525f5ef4fa43c80e771636dd3690f9d2
|
||||||
P 087dc96086fe4e45da93ab6a0d5dda34c932ce97
|
P edff9d4a995095e555fcc9aec4c56f4bcaa1557e
|
||||||
R 1c4d03777b493872eab90f1e3c1ffa05
|
R 2bdc90f10d7d2094fa6ddf41f90c24fd
|
||||||
U drh
|
U drh
|
||||||
Z 518276ac7d503545f19a1d6a51270da1
|
Z 9bbe13d88effafce7032c1658f4f21f3
|
||||||
|
@@ -1 +1 @@
|
|||||||
edff9d4a995095e555fcc9aec4c56f4bcaa1557e
|
b6b73a747ad8d0f026074e41c2a4adc529ec2674
|
11
src/vdbe.c
11
src/vdbe.c
@@ -2118,6 +2118,7 @@ case OP_Column: {
|
|||||||
u32 szField; /* Number of bytes in the content of a field */
|
u32 szField; /* Number of bytes in the content of a field */
|
||||||
int szHdr; /* Size of the header size field at start of record */
|
int szHdr; /* Size of the header size field at start of record */
|
||||||
int avail; /* Number of bytes of available data */
|
int avail; /* Number of bytes of available data */
|
||||||
|
u32 t; /* A type code from the record header */
|
||||||
Mem *pReg; /* PseudoTable input register */
|
Mem *pReg; /* PseudoTable input register */
|
||||||
|
|
||||||
|
|
||||||
@@ -2295,8 +2296,14 @@ case OP_Column: {
|
|||||||
for(i=0; i<nField; i++){
|
for(i=0; i<nField; i++){
|
||||||
if( zIdx<zEndHdr ){
|
if( zIdx<zEndHdr ){
|
||||||
aOffset[i] = offset;
|
aOffset[i] = offset;
|
||||||
zIdx += getVarint32(zIdx, aType[i]);
|
if( zIdx[0]<0x80 ){
|
||||||
szField = sqlite3VdbeSerialTypeLen(aType[i]);
|
t = zIdx[0];
|
||||||
|
zIdx++;
|
||||||
|
}else{
|
||||||
|
zIdx += sqlite3GetVarint32(zIdx, &t);
|
||||||
|
}
|
||||||
|
aType[i] = t;
|
||||||
|
szField = sqlite3VdbeSerialTypeLen(t);
|
||||||
offset += szField;
|
offset += szField;
|
||||||
if( offset<szField ){ /* True if offset overflows */
|
if( offset<szField ){ /* True if offset overflows */
|
||||||
zIdx = &zEndHdr[1]; /* Forces SQLITE_CORRUPT return below */
|
zIdx = &zEndHdr[1]; /* Forces SQLITE_CORRUPT return below */
|
||||||
|
Reference in New Issue
Block a user