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.
|
||||
D 2011-08-28T02:15:34.550
|
||||
C Small\sperformance\simprovement\sto\sOP_Column.
|
||||
D 2011-08-29T02:16:18.855
|
||||
F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
|
||||
F Makefile.in 8c930e7b493d59099ea1304bd0f2aed152eb3315
|
||||
F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
|
||||
@@ -238,7 +238,7 @@ F src/update.c 74a6cfb34e9732c1e2a86278b229913b4b51eeec
|
||||
F src/utf.c c53eb7404b3eb5c1cbb5655c6a7a0e0ce6bd50f0
|
||||
F src/util.c 06302ffd2b80408d4f6c7af71f7090e0cf8d8ff7
|
||||
F src/vacuum.c 05513dca036a1e7848fe18d5ed1265ac0b32365e
|
||||
F src/vdbe.c 8c9e0508ce0fe16e45c7398b3042d62c2968d779
|
||||
F src/vdbe.c dc84628c47e76ffa5dd945afea1460815323ad91
|
||||
F src/vdbe.h c1eeedacab6bcf1e7c2cf8203ba9763a616f9a86
|
||||
F src/vdbeInt.h f9250326f264ca5f100acc19e9c07096bb889096
|
||||
F src/vdbeapi.c 11dc47987abacb76ad016dcf5abc0dc422482a98
|
||||
@@ -961,7 +961,7 @@ F tool/symbols.sh caaf6ccc7300fd43353318b44524853e222557d5
|
||||
F tool/tostr.awk 11760e1b94a5d3dcd42378f3cc18544c06cfa576
|
||||
F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f
|
||||
F tool/warnings.sh b7fdb2cc525f5ef4fa43c80e771636dd3690f9d2
|
||||
P 087dc96086fe4e45da93ab6a0d5dda34c932ce97
|
||||
R 1c4d03777b493872eab90f1e3c1ffa05
|
||||
P edff9d4a995095e555fcc9aec4c56f4bcaa1557e
|
||||
R 2bdc90f10d7d2094fa6ddf41f90c24fd
|
||||
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 */
|
||||
int szHdr; /* Size of the header size field at start of record */
|
||||
int avail; /* Number of bytes of available data */
|
||||
u32 t; /* A type code from the record header */
|
||||
Mem *pReg; /* PseudoTable input register */
|
||||
|
||||
|
||||
@@ -2295,8 +2296,14 @@ case OP_Column: {
|
||||
for(i=0; i<nField; i++){
|
||||
if( zIdx<zEndHdr ){
|
||||
aOffset[i] = offset;
|
||||
zIdx += getVarint32(zIdx, aType[i]);
|
||||
szField = sqlite3VdbeSerialTypeLen(aType[i]);
|
||||
if( zIdx[0]<0x80 ){
|
||||
t = zIdx[0];
|
||||
zIdx++;
|
||||
}else{
|
||||
zIdx += sqlite3GetVarint32(zIdx, &t);
|
||||
}
|
||||
aType[i] = t;
|
||||
szField = sqlite3VdbeSerialTypeLen(t);
|
||||
offset += szField;
|
||||
if( offset<szField ){ /* True if offset overflows */
|
||||
zIdx = &zEndHdr[1]; /* Forces SQLITE_CORRUPT return below */
|
||||
|
Reference in New Issue
Block a user