diff options
author | dan <Dan Kennedy> | 2023-09-16 18:18:57 +0000 |
---|---|---|
committer | dan <Dan Kennedy> | 2023-09-16 18:18:57 +0000 |
commit | f99a27fab927a8c8fc8dc3c7d179654fa2b12fcd (patch) | |
tree | ef19ab0b6c83995e1a2470238c45849691c5a2d2 /src/sqliteInt.h | |
parent | 259970510537803c2e92585c1596a849ba12d3bf (diff) | |
parent | a91fe453399ddc836e412a5e8f6473f8a3e68066 (diff) | |
download | sqlite-f99a27fab927a8c8fc8dc3c7d179654fa2b12fcd.tar.gz sqlite-f99a27fab927a8c8fc8dc3c7d179654fa2b12fcd.zip |
Fix resolution of "rowid" and similar identifiers in queries that use nested joins.
FossilOrigin-Name: 37ec43d92bde13efc71fa57ff5e59c4a95b9054c298f844aefeb06d4a91ad0d4
Diffstat (limited to 'src/sqliteInt.h')
-rw-r--r-- | src/sqliteInt.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/sqliteInt.h b/src/sqliteInt.h index 31eac3749..225e54800 100644 --- a/src/sqliteInt.h +++ b/src/sqliteInt.h @@ -3181,6 +3181,7 @@ struct ExprList { #define ENAME_NAME 0 /* The AS clause of a result set */ #define ENAME_SPAN 1 /* Complete text of the result set expression */ #define ENAME_TAB 2 /* "DB.TABLE.NAME" for the result set */ +#define ENAME_ROWID 3 /* "DB.TABLE._rowid_" for * expansion of rowid */ /* ** An instance of this structure can hold a simple list of identifiers, @@ -5010,6 +5011,7 @@ int sqlite3ExprIsInteger(const Expr*, int*); int sqlite3ExprCanBeNull(const Expr*); int sqlite3ExprNeedsNoAffinityChange(const Expr*, char); int sqlite3IsRowid(const char*); +const char *sqlite3RowidAlias(Table *pTab); void sqlite3GenerateRowDelete( Parse*,Table*,Trigger*,int,int,int,i16,u8,u8,u8,int); void sqlite3GenerateRowIndexDelete(Parse*, Table*, int, int, int*, int); @@ -5281,7 +5283,8 @@ int sqlite3MatchEName( const struct ExprList_item*, const char*, const char*, - const char* + const char*, + int* ); Bitmask sqlite3ExprColUsed(Expr*); u8 sqlite3StrIHash(const char*); |