1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-11-18 10:21:03 +03:00

The IN-early-out optimization does not work for virtual tables. Do

not try to use it there.  Fix for ticket [2d5a3163563d559f].  Test
cases in TH3.

FossilOrigin-Name: dbec6910d9648f4907373c818a5cb347a2e487784208751ccecfacca752ff99d
This commit is contained in:
drh
2020-10-01 14:36:15 +00:00
parent fad4dd0fd1
commit 67306cb3b4
3 changed files with 14 additions and 9 deletions

View File

@@ -608,7 +608,13 @@ static int codeEqualityTerm(
pIn++;
}
}
if( iEq>0 && (pLoop->wsFlags & WHERE_IN_SEEKSCAN)==0 ){
printf("iEq=%d wsFlags=0x%08x\n", iEq, pLoop->wsFlags); fflush(stdout);
testcase( iEq>0
&& (pLoop->wsFlags & WHERE_IN_SEEKSCAN)==0
&& (pLoop->wsFlags & WHERE_VIRTUALTABLE)!=0 );
if( iEq>0
&& (pLoop->wsFlags & (WHERE_IN_SEEKSCAN|WHERE_VIRTUALTABLE))==0
){
sqlite3VdbeAddOp3(v, OP_SeekHit, pLevel->iIdxCur, 0, iEq);
}
}else{