aboutsummaryrefslogtreecommitdiff
path: root/src/sqliteInt.h
diff options
context:
space:
mode:
authordan <Dan Kennedy>2023-09-15 18:36:51 +0000
committerdan <Dan Kennedy>2023-09-15 18:36:51 +0000
commit81b70d97eb3ccf25d8fec5544009e6ebe9225b4a (patch)
treefce9a903cbc8d9ac0d341dd697e20af9f7931da3 /src/sqliteInt.h
parent581b22936297aa4cc19f2ee1920804ce96d5459d (diff)
downloadsqlite-81b70d97eb3ccf25d8fec5544009e6ebe9225b4a.tar.gz
sqlite-81b70d97eb3ccf25d8fec5544009e6ebe9225b4a.zip
Allow expressions like "<tbl>.rowid" to refer to implicit rowid columns of tables in nested FROM clauses.
FossilOrigin-Name: 59a1bbc69f5dbb33418fa4b383393fb13a46bc1e531577da8ad54ae2fad5a10e
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..b8473b2d1 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*);