If the initial byte of a record is a large value, then always used the

generalized record comparison routine sqlite3VdbeRecordCompare() rather than
one of the specialized versions that are optimized for shorter records.

FossilOrigin-Name: c1ac00706bae45fe9735061ada025880606cdfb8ecfdaa36b4e2d04275820861
This commit is contained in:
drh 2019-03-05 14:39:00 +00:00
parent 4474e869fe
commit 0a31dc201e
3 changed files with 9 additions and 9 deletions

View File

@ -1,5 +1,5 @@
C Fix\sa\sproblem\spreventing\scompilation\swith\sSQLITE_OMIT_UTF16.
D 2019-03-04T07:15:57.844
C If\sthe\sinitial\sbyte\sof\sa\srecord\sis\sa\slarge\svalue,\sthen\salways\sused\sthe\ngeneralized\srecord\scomparison\sroutine\ssqlite3VdbeRecordCompare()\srather\sthan\none\sof\sthe\sspecialized\sversions\sthat\sare\soptimized\sfor\sshorter\srecords.
D 2019-03-05T14:39:00.353
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
F Makefile.in 1ad7263f38329c0ecea543c80f30af839ee714ea77fc391bf1a3fbb919a5b6b5
@ -456,7 +456,7 @@ F src/auth.c 0fac71038875693a937e506bceb492c5f136dd7b1249fbd4ae70b4e8da14f9df
F src/backup.c 78d3cecfbe28230a3a9a1793e2ead609f469be43e8f486ca996006be551857ab
F src/bitvec.c 17ea48eff8ba979f1f5b04cc484c7bb2be632f33
F src/btmutex.c 8acc2f464ee76324bf13310df5692a262b801808984c1b79defb2503bbafadb6
F src/btree.c 59695c6e5eb527bfefc2b3d8ffebd178ad8686eaeb810c9f57719d6d2b72822e
F src/btree.c 7da25dbf427e7ad5d36b78541cf33b9cba2d3f9d02ad5ab41777770aa3396f6f
F src/btree.h 63b94fb38ce571c15eb6a3661815561b501d23d5948b2d1e951fbd7a2d04e8d3
F src/btreeInt.h 6111c15868b90669f79081039d19e7ea8674013f907710baa3c814dc3f8bfd3f
F src/build.c 3acec29b23948042173301a8befebae01a98344debf66cbd4467c8b9077707b8
@ -1805,7 +1805,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
P d7d23f0450d659b2c7df34e4df8623ca7b6fe3bd19422e3e9234515214ae8510
R dc88e96e04121683ea3d6378eccdabf0
U dan
Z 97fe7239616646a62550c014b5d021f5
P 906d1fd8650874236e0bf5734d5347dcc45ec036164a56570fec37da4ffeaf8f
R 277179fe4b547cee2092289e5ab7fb47
U drh
Z 5d5f3c87362d69305d6cbcaac8d39497

View File

@ -1 +1 @@
906d1fd8650874236e0bf5734d5347dcc45ec036164a56570fec37da4ffeaf8f
c1ac00706bae45fe9735061ada025880606cdfb8ecfdaa36b4e2d04275820861

View File

@ -5552,7 +5552,7 @@ int sqlite3BtreeMovetoUnpacked(
sqlite3_free(pCellKey);
goto moveto_finish;
}
c = xRecordCompare(nCell, pCellKey, pIdxKey);
c = sqlite3VdbeRecordCompare(nCell, pCellKey, pIdxKey);
sqlite3_free(pCellKey);
}
assert(