aboutsummaryrefslogtreecommitdiff
path: root/src/sqliteInt.h
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2013-11-15 18:15:19 +0000
committerdrh <drh@noemail.net>2013-11-15 18:15:19 +0000
commitc2acc4e46620a10da17651bea3e81a04c56a823f (patch)
tree47f427fe4f3389ffa4ba735eb357a3d299e78df7 /src/sqliteInt.h
parenta0d6e3a501d543421db787fa230a2abdd1a34d39 (diff)
downloadsqlite-c2acc4e46620a10da17651bea3e81a04c56a823f.tar.gz
sqlite-c2acc4e46620a10da17651bea3e81a04c56a823f.zip
Changes to make the new constant expression factoring logic more general
and more testable. FossilOrigin-Name: d10fb49a92f5f6e93093ae83544e5aec7984361a
Diffstat (limited to 'src/sqliteInt.h')
-rw-r--r--src/sqliteInt.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/sqliteInt.h b/src/sqliteInt.h
index 9c4a9cc0b..e6385e27c 100644
--- a/src/sqliteInt.h
+++ b/src/sqliteInt.h
@@ -1900,8 +1900,13 @@ struct ExprList {
u8 sortOrder; /* 1 for DESC or 0 for ASC */
unsigned done :1; /* A flag to indicate when processing is finished */
unsigned bSpanIsTab :1; /* zSpan holds DB.TABLE.COLUMN */
- u16 iOrderByCol; /* For ORDER BY, column number in result set */
- u16 iAlias; /* Index into Parse.aAlias[] for zName */
+ union {
+ struct {
+ u16 iOrderByCol; /* For ORDER BY, column number in result set */
+ u16 iAlias; /* Index into Parse.aAlias[] for zName */
+ } x;
+ int iConstExprReg; /* Register in which Expr value is cached */
+ } u;
} *a; /* Alloc a power of two greater or equal to nExpr */
};