Merge fixes from trunk.

FossilOrigin-Name: dd39418ee47529cc3ffbe01eccf31f1304a266a196bf81a2a2cb2e650c195b97
This commit is contained in:
drh 2020-07-23 14:27:51 +00:00
commit a92eae9751
5 changed files with 26 additions and 15 deletions

View File

@ -5831,7 +5831,8 @@ static int fts3EvalGatherStats(
fts3EvalRestart(pCsr, pRoot, &rc); fts3EvalRestart(pCsr, pRoot, &rc);
do { do {
fts3EvalNextRow(pCsr, pRoot, &rc); fts3EvalNextRow(pCsr, pRoot, &rc);
assert( pRoot->bEof==0 ); assert_fts3_nc( pRoot->bEof==0 );
if( pRoot->bEof ) rc = FTS_CORRUPT_VTAB;
}while( pRoot->iDocid!=iDocid && rc==SQLITE_OK ); }while( pRoot->iDocid!=iDocid && rc==SQLITE_OK );
} }
} }

View File

@ -1,6 +1,7 @@
B d2aac001204621062e6cb3230ce2ac1b4545cb83b3ebb6bfebccee4d51162e97 B d2aac001204621062e6cb3230ce2ac1b4545cb83b3ebb6bfebccee4d51162e97
C Merge\ssupport\sfor\spartial\sintegrity\schecks. C Merge\sfixes\sfrom\strunk.
D 2020-07-23T09:14:25.312 D 2020-07-23T14:27:51.261
F ext/fts3/fts3.c a571f1edf85ef07e94ad716d581cdd9875df444dfcfa6f81f0ea818f98d45189
F src/analyze.c 5cffff3d355858cd22bfc6e20ac7203510d2e1cc935086eb06f4abb2f579f628 F src/analyze.c 5cffff3d355858cd22bfc6e20ac7203510d2e1cc935086eb06f4abb2f579f628
F src/btree.c 312780d344ab1c205b6571ef38757c7d5ea1cec539802cdd5a508381dd71be88 F src/btree.c 312780d344ab1c205b6571ef38757c7d5ea1cec539802cdd5a508381dd71be88
F src/btree.h 7af72bbb4863c331c8f6753277ab40ee67d2a2125a63256d5c25489722ec162b F src/btree.h 7af72bbb4863c331c8f6753277ab40ee67d2a2125a63256d5c25489722ec162b
@ -10,7 +11,7 @@ F src/main.c eb8169cb49d36ef3481ed8f39459a4d1d61f07bd71ec26e6ee0b5da4ab73d49c
F src/pager.c a5f65ff2cd73b8d381cc7b338cac382ca6978d578fa0b84fdaa11d3cdc3c3e18 F src/pager.c a5f65ff2cd73b8d381cc7b338cac382ca6978d578fa0b84fdaa11d3cdc3c3e18
F src/pragma.c bdb600be936f66b9fe69d26dfbba4528beaaf4f95c479c85b328a92484e0bf71 F src/pragma.c bdb600be936f66b9fe69d26dfbba4528beaaf4f95c479c85b328a92484e0bf71
F src/prepare.c 28193f0b7fc377e14682c56b10b9dd75cf7e41eb25b8ff1ce5a4536e680e1193 F src/prepare.c 28193f0b7fc377e14682c56b10b9dd75cf7e41eb25b8ff1ce5a4536e680e1193
F src/select.c 0e75d64091200a2a8fdc02abafe176a0c2e9b2654c4cc34564f25f0b408e91de F src/select.c 9ccea209a9fc03fbf35027b0a1c23276ecb4782d54820b751bddadd0c4536237
F src/sqliteInt.h ec260b2441d94ef0b5be424c323cf255ae30d23e2fb2bd1c42a3a59c2fbafedb F src/sqliteInt.h ec260b2441d94ef0b5be424c323cf255ae30d23e2fb2bd1c42a3a59c2fbafedb
F src/test1.c f5cb6544a38edf0fb214384c9f7a5ab2b04b0094223b0854c004d18b8f0a7f34 F src/test1.c f5cb6544a38edf0fb214384c9f7a5ab2b04b0094223b0854c004d18b8f0a7f34
F src/util.c 9ae0b629657ca10abde2f27f5dc3e545cb66d298d111bac062b236a099f8df2d F src/util.c 9ae0b629657ca10abde2f27f5dc3e545cb66d298d111bac062b236a099f8df2d
@ -22,12 +23,12 @@ F src/wherecode.c 8064fe5c042824853a9b1fda670054a51a49033a6c79059988c97751ccf808
F test/corrupt3.test 2520432b1fbf99994841e69804a3c59fb828183f4d09b85a1631bc7adca17e31 F test/corrupt3.test 2520432b1fbf99994841e69804a3c59fb828183f4d09b85a1631bc7adca17e31
F test/corruptL.test ddd255069ec87976587956c7afc1932005d7ee5eaf4fe426a8994d945b883770 F test/corruptL.test ddd255069ec87976587956c7afc1932005d7ee5eaf4fe426a8994d945b883770
F test/dbfuzz001.test 55e1a3504f8dea84155e09912fe3b1c3ad77e0b1a938ec42ca03b8e51b321e30 F test/dbfuzz001.test 55e1a3504f8dea84155e09912fe3b1c3ad77e0b1a938ec42ca03b8e51b321e30
F test/fts3corrupt4.test b352268a7092e5581b1c3fb29b7f19b424fefbc1edfd3bb9ee4eeb0d4beef970 F test/fts3corrupt4.test e4662d37f02248301d8b58778eac380663e09a17a38dd5d6bb5ea4c927b9a575
F test/pager1.test 4fba160bf450cea19f6bf1d6483ef467545bac6405570e176c83c2c4b5d6d0d5 F test/pager1.test 4fba160bf450cea19f6bf1d6483ef467545bac6405570e176c83c2c4b5d6d0d5
F test/pragma.test 50b91bedea9324d3ab48e793f908ee7d2c7dcf84bfa2281e792838be59641ec8 F test/pragma.test 50b91bedea9324d3ab48e793f908ee7d2c7dcf84bfa2281e792838be59641ec8
F test/tester.tcl 6417cbb60c4169804e2e1b36ce1a840c9f33d0b0d97956e058f3cc49ed3904f0 F test/tester.tcl 6417cbb60c4169804e2e1b36ce1a840c9f33d0b0d97956e058f3cc49ed3904f0
F tool/showdb.c 49e810f5c414c792b5bf38cd5557ca9639713ebfef32aaff32faf7cb7ccce513 F tool/showdb.c 49e810f5c414c792b5bf38cd5557ca9639713ebfef32aaff32faf7cb7ccce513
P e4a92688fca31335bf15933dec10ecba04cf340ee2f726fd36d46d4c76660eee 65dd321432e8f80bc1cb11be8ca06656b41ac997a74a5eb271c797cf0fbb764e P b5443b47af95f4f0ef527bee90f186ee25faa5df197dbcc3e14d48eee095e4aa 6a3111cd0693bb51191d55a32ecd436341638d54ecb2df0778de681b4969241b
R e4d9af4b2c8b3592cb28dca1e5ada87e R 1b00c8242d3f600970e583cfc7570b95
U drh U drh
Z 84df909394c97f14dff1300a1886c42c Z cacdc819c65ba00b73b8abfe1f5251b5

View File

@ -1 +1 @@
b5443b47af95f4f0ef527bee90f186ee25faa5df197dbcc3e14d48eee095e4aa dd39418ee47529cc3ffbe01eccf31f1304a266a196bf81a2a2cb2e650c195b97

View File

@ -1129,13 +1129,10 @@ static void selectInnerLoop(
} }
case SRT_Upfrom: { case SRT_Upfrom: {
#ifdef SQLITE_ENABLE_UPDATE_DELETE_LIMIT
if( pSort ){ if( pSort ){
pushOntoSorter( pushOntoSorter(
pParse, pSort, p, regResult, regOrig, nResultCol, nPrefixReg); pParse, pSort, p, regResult, regOrig, nResultCol, nPrefixReg);
}else }else{
#endif
{
int i2 = pDest->iSDParm2; int i2 = pDest->iSDParm2;
int r1 = sqlite3GetTempReg(pParse); int r1 = sqlite3GetTempReg(pParse);
@ -1587,7 +1584,6 @@ static void generateSortTail(
break; break;
} }
#endif #endif
#ifdef SQLITE_ENABLE_UPDATE_DELETE_LIMIT
case SRT_Upfrom: { case SRT_Upfrom: {
int i2 = pDest->iSDParm2; int i2 = pDest->iSDParm2;
int r1 = sqlite3GetTempReg(pParse); int r1 = sqlite3GetTempReg(pParse);
@ -1599,7 +1595,6 @@ static void generateSortTail(
} }
break; break;
} }
#endif
default: { default: {
assert( eDest==SRT_Output || eDest==SRT_Coroutine ); assert( eDest==SRT_Output || eDest==SRT_Coroutine );
testcase( eDest==SRT_Output ); testcase( eDest==SRT_Output );

View File

@ -6284,4 +6284,18 @@ do_catchsql_test 46.2 {
set sqlite_fts3_enable_parentheses $saved set sqlite_fts3_enable_parentheses $saved
extra_schema_checks 1 extra_schema_checks 1
#-------------------------------------------------------------------------
reset_db
do_execsql_test 47.1 {
CREATE VIRTUAL TABLE t1 USING fts3(a,b,c);
}
do_execsql_test 47.2 {
INSERT INTO t1_segdir VALUES(0,0,0,0,0,X'000130120106000106000106001f030001030001030000083230313630363039090107000107000107000001340901050001050001050000013509010400010400010400010730303030303030091c0400010400010400000662696e6172793c0301020200030102020003010202000301020200030102020003010202000301020200030102020003010202000301020200030102020003010202000008636f6d70696c657209010200010200010200000664627374617409070300010300010300010465627567090402000102000102000006656e61626c653f07020001020001020001020001020001020001020001020001020001020001020001020001010001020001020001020001020001020001020001020001020001087874656e73696f6e091f0400010400010400000466747334090a0300010300010300030135090d03000103000103000003676363090103000103000103000106656f706f6c790910030001030001030000056a736f6e310913030001030001030000046c6f6164091f030001030001030000036d6178091c02000102000102000105656d6f7279091c03000103000103000304737973350916030001030001030000066e6f636173653c02010202000301020200030102020003010202000301020200030102020003010202000301020200030102020003010202000301020200030102020000046f6d6974091f020001020001020000057274726565091903000103000103000302696d3c01010202000301020200030102020003010202000301020200030102020003010202000301a202000301020200030102020003010202000301020200000a746872656164736166650922020001020001020000047674616209070400010400010400000178b401010101020001010102000101010200010101020001010102000101010200010101020001010102000101010200010101020001010102000101010200010101020001010102000101010200010101020001010102000101010200010101020001010102000101010200010101020001010102000101010200010101020001010102000101010200010101020001010102000101010200010101020001010102000101010200010101020001010102000101010200');
INSERT INTO t1_segdir VALUES(0,1,0,0,0,X'0001300425061b000008323031363036303903250700000134032505000001350325040001073030303030303003251a000008636f6d70696c657203250200000664627374617403250a00010465627567032508000006656e61626c650925090504040404040001087874656e73696f6e03251d0000046674733403250d0003013503250f000003676363032503000106656f706f6c790325110000056a736f6e310325130000046c6f616403251c0000036d6178032518000105656d6f7279032519000304737973350325150000046f6d697403251b000005727472656503251700000a7468726561647361666503251e0000047674616333250b00');
}
do_catchsql_test 47.3 {
SELECT matchinfo(t1) FROM t1 WHERE t1 MATCH '"json1 enable"';
} {1 {database disk image is malformed}}
finish_test finish_test