aboutsummaryrefslogtreecommitdiff
path: root/src/sqliteInt.h
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2014-10-24 19:28:09 +0000
committerdrh <drh@noemail.net>2014-10-24 19:28:09 +0000
commit059b2d50e1c6a57ca301f3c9639f92f7e16ff96e (patch)
treed61ee5346f3d01523826a4942dc18a94c69e7440 /src/sqliteInt.h
parent4dd96a8315b3f3b2a516513b06754e1887e426eb (diff)
downloadsqlite-059b2d50e1c6a57ca301f3c9639f92f7e16ff96e.tar.gz
sqlite-059b2d50e1c6a57ca301f3c9639f92f7e16ff96e.zip
Enhance the automatic index logic so that it creates a partial index when
doing so gives the same answer for less work. FossilOrigin-Name: d95d0313c447f5baeabdb17284d8606331ab7d49
Diffstat (limited to 'src/sqliteInt.h')
-rw-r--r--src/sqliteInt.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/sqliteInt.h b/src/sqliteInt.h
index 1b3138be4..b7f992c34 100644
--- a/src/sqliteInt.h
+++ b/src/sqliteInt.h
@@ -2892,9 +2892,11 @@ struct Walker {
void (*xSelectCallback2)(Walker*,Select*);/* Second callback for SELECTs */
Parse *pParse; /* Parser context. */
int walkerDepth; /* Number of subqueries */
+ u8 eCode; /* A small processing code */
union { /* Extra data for callback */
NameContext *pNC; /* Naming context */
- int i; /* Integer value */
+ int n; /* A counter */
+ int iCur; /* A cursor number */
SrcList *pSrcList; /* FROM clause */
struct SrcCount *pSrcCount; /* Counting column references */
} u;
@@ -3295,6 +3297,7 @@ void sqlite3LeaveMutexAndCloseZombie(sqlite3*);
int sqlite3ExprIsConstant(Expr*);
int sqlite3ExprIsConstantNotJoin(Expr*);
int sqlite3ExprIsConstantOrFunction(Expr*, u8);
+int sqlite3ExprIsTableConstant(Expr*,int);
int sqlite3ExprIsInteger(Expr*, int*);
int sqlite3ExprCanBeNull(const Expr*);
int sqlite3ExprNeedsNoAffinityChange(const Expr*, char);