Add the ability to disable the covering-index-scan optimization at compile-time,
start-time, or at run-time. Add test cases to check this configurability.
FossilOrigin-Name: ccb8ecc30c8e6c7760131250297c2e452bbac43b
diff --git a/src/sqliteInt.h b/src/sqliteInt.h
index b0135f4..e20e797 100644
--- a/src/sqliteInt.h
+++ b/src/sqliteInt.h
@@ -968,6 +968,7 @@
#define SQLITE_FactorOutConst 0x08 /* Disable factoring out constants */
#define SQLITE_IdxRealAsInt 0x10 /* Store REAL as INT in indices */
#define SQLITE_DistinctOpt 0x20 /* DISTINCT using indexes */
+#define SQLITE_CoverIdxScan 0x40 /* Disable covering index scans */
#define SQLITE_OptMask 0xff /* Mask of all disablable opts */
/*
@@ -2461,6 +2462,7 @@
int bCoreMutex; /* True to enable core mutexing */
int bFullMutex; /* True to enable full mutexing */
int bOpenUri; /* True to interpret filenames as URIs */
+ int bUseCis; /* Use covering indices for full-scans */
int mxStrlen; /* Maximum string length */
int szLookaside; /* Default lookaside buffer size */
int nLookaside; /* Default lookaside buffer count */