-C Add\stest\scode\suseful\sfor\stesting\sthe\splanners\suse\sof\steh\svirtual\stable\sxBestIndex()\smethod.
-D 2016-03-01T18:07:43.649
+C Allow\stest_bestindex.c\sto\sset\sthe\somit\sflag\sfor\sa\sconstraint.
+D 2016-03-01T18:24:36.515
F Makefile.in 4e90dc1521879022aa9479268a4cd141d1771142
F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
F Makefile.msc 4f319afb7c049d40aff7af6e8c4e7cc2ba18e079
F src/test_async.c 21e11293a2f72080eda70e1124e9102044531cd8
F src/test_autoext.c dea8a01a7153b9adc97bd26161e4226329546e12
F src/test_backup.c 2e6e6a081870150f20c526a2e9d0d29cda47d803
-F src/test_bestindex.c 2004eeca2d227fe62ed581776dc7fd349d45b8f3
+F src/test_bestindex.c 6448b9b7ef9729f04093462be539255938d256db
F src/test_blob.c b2551a9b5573232db5f66f292307c37067937239
F src/test_btree.c 2e9978eca99a9a4bfa8cae949efb00886860a64f
F src/test_config.c 0dee90328e3dedf8ba002ee94b6a7e7ea7726fe4
F test/badutf.test d5360fc31f643d37a973ab0d8b4fb85799c3169f
F test/badutf2.test f5bc7f2d280670ecd79b9cf4f0f1760c607fe51f
F test/bc_common.tcl 3eda41ef9cda7d5f6c205462c96228b301da4191
-F test/bestindex1.test a7213b26f039edfcdb4c0cc13392b79cd4a23779
+F test/bestindex1.test 8d8ae7e96a98079f43518cae536535cc52aee49b
F test/between.test 34d375fb5ce1ae283ffe82b6b233e9f38e84fc6c
F test/bigfile.test aa74f4e5db51c8e54a1d9de9fa65d01d1eb20b59
F test/bigfile2.test 1b489a3a39ae90c7f027b79110d6b4e1dbc71bfc
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P f2c16094a536e7ef62444d0fe38cbee2a4999426
-R c8660859b43a9c62a3adc82692a6c451
-T *branch * test-bestindex
-T *sym-test-bestindex *
-T -sym-trunk *
+P de034c0db66298454ae8418949d58eb6e223c0de
+R 25f59441195481b2d87b75ea969fe23e
U dan
-Z 7443660e56c432a07b1f019ab23aa0dc
+Z 102ea7e54c5366f48aedd548677f81f2
** "use" (index of used constraint in aConstraint[])
** "idxnum" (value of idxNum field)
** "idxstr" (value of idxStr field)
+ ** "omit" (index of omitted constraint in aConstraint[])
*/
Tcl_Obj *pRes = Tcl_GetObjResult(interp);
Tcl_Obj **apElem = 0;
if( sqlite3_stricmp("rows", zCmd)==0 ){
rc = Tcl_GetWideIntFromObj(interp, p, &pIdxInfo->estimatedRows);
}else
- if( sqlite3_stricmp("use", zCmd)==0 ){
+ if( sqlite3_stricmp("use", zCmd)==0
+ || sqlite3_stricmp("omit", zCmd)==0
+ ){
int iCons;
rc = Tcl_GetIntFromObj(interp, p, &iCons);
if( rc==SQLITE_OK ){
rc = SQLITE_ERROR;
pTab->base.zErrMsg = sqlite3_mprintf("unexpected: %d", iCons);
}else{
+ int bOmit = (zCmd[0]=='o' || zCmd[0]=='O');
pIdxInfo->aConstraintUsage[iCons].argvIndex = iArgv++;
+ pIdxInfo->aConstraintUsage[iCons].omit = bOmit;
}
}
}else{
catch { array unset C }
array set C [lindex $clist 0]
if {$C(usable)} {
- return "use 0 cost 0 rows 1 idxnum 555 idxstr eq!"
+ return "omit 0 cost 0 rows 1 idxnum 555 idxstr eq!"
} else {
return "cost 1000000 rows 0 idxnum 0 idxstr scan..."
}
0 0 0 {SCAN TABLE x1 VIRTUAL TABLE INDEX 555:eq!}
}
-#set sqlite_where_trace 0x3ff
do_eqp_test 1.2 {
SELECT * FROM x1 WHERE a IN ('abc', 'def');
} {
0 0 0 {SCAN TABLE x1 VIRTUAL TABLE INDEX 555:eq!}
+ 0 0 0 {EXECUTE LIST SUBQUERY 1}
}
finish_test