mirror of
https://github.com/sqlitebrowser/sqlitebrowser.git
synced 2026-01-20 02:50:46 -06:00
grammar: Fix keywords as table name and keywords as column name
SQLite allows some keywords to be used for table names and some other keywords to be used for column names without using any quotes. Our grammar parser needs to know which keywords are allowed and which are not. In the two lists (one for table names and one for column names) there were a few errors and omissions. This commit should fix them. This was pointed out in #1716.
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -135,8 +135,6 @@ private:
|
||||
static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_22;
|
||||
static const unsigned long _tokenSet_23_data_[];
|
||||
static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_23;
|
||||
static const unsigned long _tokenSet_24_data_[];
|
||||
static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_24;
|
||||
};
|
||||
|
||||
#endif /*INC_Sqlite3Parser_hpp_*/
|
||||
|
||||
@@ -252,8 +252,11 @@ keywordastablename
|
||||
| CURRENT_TIMESTAMP
|
||||
| DEFERRED
|
||||
| DESC
|
||||
| ELSE_T
|
||||
| END
|
||||
| FAIL
|
||||
| FILTER
|
||||
| FOLLOWING
|
||||
| GLOB
|
||||
| KEY
|
||||
| LIKE
|
||||
@@ -262,13 +265,22 @@ keywordastablename
|
||||
| IMMEDIATE
|
||||
| MATCH
|
||||
| NO
|
||||
| OVER
|
||||
| PARTITION
|
||||
| PRECEDING
|
||||
| RAISE
|
||||
| RANGE
|
||||
| REGEXP
|
||||
| REPLACE
|
||||
| RESTRICT
|
||||
| ROLLBACK
|
||||
| ROWID
|
||||
| ROWS
|
||||
| TEMPORARY
|
||||
| TEMP
|
||||
| UNBOUNDED
|
||||
| VIRTUAL
|
||||
| WITHOUT
|
||||
)
|
||||
{#keywordastablename = #([KEYWORDASTABLENAME, "KEYWORDASTABLENAME"], #keywordastablename);}
|
||||
;
|
||||
@@ -297,56 +309,44 @@ keywordascolumnname
|
||||
:
|
||||
( ABORT
|
||||
| ACTION
|
||||
| AUTOINCREMENT
|
||||
| AS
|
||||
| ASC
|
||||
| AND
|
||||
| OR
|
||||
| CASCADE
|
||||
| CASE_T
|
||||
| CAST
|
||||
| CREATE
|
||||
| COLLATE
|
||||
| CONFLICT
|
||||
| CURRENT_TIME
|
||||
| CURRENT_DATE
|
||||
| CURRENT_TIMESTAMP
|
||||
| DEFAULT
|
||||
| DEFERRABLE
|
||||
| DEFERRED
|
||||
| DELETE
|
||||
| DESC
|
||||
| ELSE_T
|
||||
| END
|
||||
| ESCAPE
|
||||
| FAIL
|
||||
| FILTER
|
||||
| FOLLOWING
|
||||
| GLOB
|
||||
| KEY
|
||||
| LIKE
|
||||
| TABLE
|
||||
| IF_T
|
||||
| IGNORE
|
||||
| INITIALLY
|
||||
| IMMEDIATE
|
||||
| IS
|
||||
| NULL_T
|
||||
| MATCH
|
||||
| EXISTS
|
||||
| NO
|
||||
| ON
|
||||
| OVER
|
||||
| PARTITION
|
||||
| PRECEDING
|
||||
| RAISE
|
||||
| REFERENCES
|
||||
| RANGE
|
||||
| REGEXP
|
||||
| REPLACE
|
||||
| RESTRICT
|
||||
| ROLLBACK
|
||||
| ROWID
|
||||
| SET
|
||||
| ROWS
|
||||
| TEMPORARY
|
||||
| TEMP
|
||||
| THEN
|
||||
| UPDATE
|
||||
| WHEN
|
||||
| UNBOUNDED
|
||||
| VIRTUAL
|
||||
| WITHOUT
|
||||
)
|
||||
{#keywordascolumnname = #([KEYWORDASCOLUMNNAME, "KEYWORDASCOLUMNNAME"], #keywordascolumnname);}
|
||||
;
|
||||
|
||||
Reference in New Issue
Block a user