1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-07-27 20:41:58 +03:00

Fix a bug in lsm queries on levels undergoing incremental an merge that

contain range-delete markers.

FossilOrigin-Name: b2c2487928becbea5a932895d153709c98a057a3c71c2600e165478562e9f7c5
This commit is contained in:
dan
2017-07-03 20:19:28 +00:00
parent cde336e0dc
commit 45408a108f
3 changed files with 19 additions and 9 deletions

View File

@ -1952,7 +1952,17 @@ static int seekInLevel(
rtTopic(pPtr->eType), pPtr->pKey, pPtr->nKey, rtTopic(pPtr->eType), pPtr->pKey, pPtr->nKey,
pLvl->iSplitTopic, pLvl->pSplitKey, pLvl->nSplitKey pLvl->iSplitTopic, pLvl->pSplitKey, pLvl->nSplitKey
); );
if( res<0 ) segmentPtrReset(pPtr, LSM_SEGMENTPTR_FREE_THRESHOLD); if( res<0 ){
if( pPtr->eType & LSM_START_DELETE ){
pPtr->eType &= ~LSM_INSERT;
pPtr->pKey = pLvl->pSplitKey;
pPtr->nKey = pLvl->nSplitKey;
pPtr->pVal = 0;
pPtr->nVal = 0;
}else{
segmentPtrReset(pPtr, LSM_SEGMENTPTR_FREE_THRESHOLD);
}
}
} }
if( aPtr[i].pKey ) bHit = 1; if( aPtr[i].pKey ) bHit = 1;

View File

@ -1,5 +1,5 @@
C Attempt\sto\simprove\sdocumentation\son\ssqlite3_column_\sand\ssqlite3_value_\ninterfaces. C Fix\sa\sbug\sin\slsm\squeries\son\slevels\sundergoing\sincremental\san\smerge\sthat\ncontain\srange-delete\smarkers.
D 2017-07-03T17:37:04.837 D 2017-07-03T20:19:28.955
F Makefile.in 081e48dfe7f995d57ce1a88ddf4d2917b4349158648a6cd45b42beae30de3a12 F Makefile.in 081e48dfe7f995d57ce1a88ddf4d2917b4349158648a6cd45b42beae30de3a12
F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434 F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
F Makefile.msc 4ebb1d257cac7fb1bcb4ba59278416d410ff1c4bf59447a9c37a415f3516056a F Makefile.msc 4ebb1d257cac7fb1bcb4ba59278416d410ff1c4bf59447a9c37a415f3516056a
@ -244,7 +244,7 @@ F ext/lsm1/lsm_main.c 8f1f68a87126dcecaed463ed38e4b1c0dcc184614de1d7b01542d88c06
F ext/lsm1/lsm_mem.c 4c51ea9fa285ee6e35301b33491642d071740a0a F ext/lsm1/lsm_mem.c 4c51ea9fa285ee6e35301b33491642d071740a0a
F ext/lsm1/lsm_mutex.c 378edf0a2b142b4f7640ee982df06d50b98788ea F ext/lsm1/lsm_mutex.c 378edf0a2b142b4f7640ee982df06d50b98788ea
F ext/lsm1/lsm_shared.c 54cc3a5157c6abd77f7d3ae60708b9f7bf022b3c F ext/lsm1/lsm_shared.c 54cc3a5157c6abd77f7d3ae60708b9f7bf022b3c
F ext/lsm1/lsm_sorted.c 62cc605a66cf8e0e6ab3593281c2476a787fc4b2013c618dd17568d18c730070 F ext/lsm1/lsm_sorted.c 105a4c0b95e6f8c1d03774f88afbf1397e7cacd52c1a4b24de1118d011d05fdd
F ext/lsm1/lsm_str.c 77ebdd5040ddf267a6f724d4c83132d2dce8a226 F ext/lsm1/lsm_str.c 77ebdd5040ddf267a6f724d4c83132d2dce8a226
F ext/lsm1/lsm_tree.c 5d9fb2bc58a1a70c75126bd8d7198f7b627e165b F ext/lsm1/lsm_tree.c 5d9fb2bc58a1a70c75126bd8d7198f7b627e165b
F ext/lsm1/lsm_unix.c 57361bcf5b1a1a028f5d66571ee490e9064d2cfb145a2cc9e5ddade467bb551b F ext/lsm1/lsm_unix.c 57361bcf5b1a1a028f5d66571ee490e9064d2cfb145a2cc9e5ddade467bb551b
@ -1628,7 +1628,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 e34eafd4c5b2bbf2735e136ad69b67bb4288ad4d01a0128d8e107ac46209a182 P 9111ac69bf307997e590bc9459222661fc79f549b3c493168a654a5046e6e4ad
R daf6aa916562f77defe7fb8012cb61e0 R 17216989ed0c1efa9e59126318b86d4a
U drh U dan
Z 91228c779b3dd3fbfc53cd1f8eb1df59 Z d89f155c1b113ffdce094dbb498ae299

View File

@ -1 +1 @@
9111ac69bf307997e590bc9459222661fc79f549b3c493168a654a5046e6e4ad b2c2487928becbea5a932895d153709c98a057a3c71c2600e165478562e9f7c5