aboutsummaryrefslogtreecommitdiff
path: root/src/sqliteInt.h
diff options
context:
space:
mode:
authordrh <>2022-05-02 20:49:30 +0000
committerdrh <>2022-05-02 20:49:30 +0000
commitd88fd539893919c8dc247bf3703bcc4d5bc91be4 (patch)
treeaec0798d094c465298099e8bf33799a0bccbfcd2 /src/sqliteInt.h
parent689f1b924611939363e4a593c10fbce56a8ff1b7 (diff)
downloadsqlite-d88fd539893919c8dc247bf3703bcc4d5bc91be4.tar.gz
sqlite-d88fd539893919c8dc247bf3703bcc4d5bc91be4.zip
Organize the various flag bits of the ExprList_item object into a substructure
so that the whole lot can be copied all at once. Faster and smaller code. FossilOrigin-Name: 5341d4bbe9a943f9cdbbdea829e18f108e98972ebb706396c50fc62fcc6a6328
Diffstat (limited to 'src/sqliteInt.h')
-rw-r--r--src/sqliteInt.h22
1 files changed, 12 insertions, 10 deletions
diff --git a/src/sqliteInt.h b/src/sqliteInt.h
index 90c931efe..7cbdb4621 100644
--- a/src/sqliteInt.h
+++ b/src/sqliteInt.h
@@ -3001,16 +3001,18 @@ struct ExprList {
struct ExprList_item { /* For each expression in the list */
Expr *pExpr; /* The parse tree for this expression */
char *zEName; /* Token associated with this expression */
- u8 sortFlags; /* Mask of KEYINFO_ORDER_* flags */
- unsigned eEName :2; /* Meaning of zEName */
- unsigned done :1; /* A flag to indicate when processing is finished */
- unsigned reusable :1; /* Constant expression is reusable */
- unsigned bSorterRef :1; /* Defer evaluation until after sorting */
- unsigned bNulls :1; /* True if explicit "NULLS FIRST/LAST" */
- unsigned bUsed :1; /* This column used in a SF_NestedFrom subquery */
- unsigned bUsingTerm:1; /* Term from the USING clause of a NestedFrom */
- unsigned bNoExpand: 1; /* Term is an auxiliary in NestedFrom and should
- ** not be expanded by "*" in parent queries */
+ struct {
+ u8 sortFlags; /* Mask of KEYINFO_ORDER_* flags */
+ unsigned eEName :2; /* Meaning of zEName */
+ unsigned done :1; /* Indicates when processing is finished */
+ unsigned reusable :1; /* Constant expression is reusable */
+ unsigned bSorterRef :1; /* Defer evaluation until after sorting */
+ unsigned bNulls :1; /* True if explicit "NULLS FIRST/LAST" */
+ unsigned bUsed :1; /* This column used in a SF_NestedFrom subquery */
+ unsigned bUsingTerm:1; /* Term from the USING clause of a NestedFrom */
+ unsigned bNoExpand: 1; /* Term is an auxiliary in NestedFrom and should
+ ** not be expanded by "*" in parent queries */
+ } fg;
union {
struct { /* Used by any ExprList other than Parse.pConsExpr */
u16 iOrderByCol; /* For ORDER BY, column number in result set */