aboutsummaryrefslogtreecommitdiff
path: root/src/sqliteInt.h
diff options
context:
space:
mode:
authordan <Dan Kennedy>2023-09-16 18:18:57 +0000
committerdan <Dan Kennedy>2023-09-16 18:18:57 +0000
commitf99a27fab927a8c8fc8dc3c7d179654fa2b12fcd (patch)
treeef19ab0b6c83995e1a2470238c45849691c5a2d2 /src/sqliteInt.h
parent259970510537803c2e92585c1596a849ba12d3bf (diff)
parenta91fe453399ddc836e412a5e8f6473f8a3e68066 (diff)
downloadsqlite-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.h5
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*);