1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-11-06 15:49:35 +03:00

Convert the NameContext object from using u8 booleans to using individual

bits in a single u8 as its booleans.  This change might become a basis for
a fix for [c2ad16f997ee9c].

FossilOrigin-Name: 722260969306778029b738402f22e3c154dd77a1
This commit is contained in:
drh
2012-05-21 19:11:25 +00:00
parent 3608f177ba
commit a51009b251
6 changed files with 43 additions and 34 deletions

View File

@@ -2006,15 +2006,20 @@ struct NameContext {
Parse *pParse; /* The parser */
SrcList *pSrcList; /* One or more tables used to resolve names */
ExprList *pEList; /* Optional list of named expressions */
int nRef; /* Number of names resolved by this context */
int nErr; /* Number of errors encountered while resolving names */
u8 allowAgg; /* Aggregate functions allowed here */
u8 hasAgg; /* True if aggregates are seen */
u8 isCheck; /* True if resolving names in a CHECK constraint */
AggInfo *pAggInfo; /* Information about aggregates at this level */
NameContext *pNext; /* Next outer name context. NULL for outermost */
int nRef; /* Number of names resolved by this context */
int nErr; /* Number of errors encountered while resolving names */
u8 ncFlags; /* Zero or more NC_* flags defined below */
};
/*
** Allowed values for the NameContext, ncFlags field.
*/
#define NC_AllowAgg 0x01 /* Aggregate functions are allowed here */
#define NC_HasAgg 0x02 /* One or more aggregate functions seen */
#define NC_IsCheck 0x04 /* True if resolving names in a CHECK constraint */
/*
** An instance of the following structure contains all information
** needed to generate code for a single SELECT statement.