mirror of
https://github.com/sqlite/sqlite.git
synced 2025-11-11 01:42:22 +03:00
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
This commit is contained in:
@@ -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 */
|
||||
|
||||
Reference in New Issue
Block a user