Skip to content

Commit 28c1da7

Browse files
authored
Merge pull request antlr#1650 from xDaeDaLuSx015/master
tsql grammer - IDs and Null Columns
2 parents e31d0ee + af1175f commit 28c1da7

File tree

3 files changed

+31
-5
lines changed

3 files changed

+31
-5
lines changed

sql/tsql/TSqlLexer.g4

+4-4
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,6 @@ CURRENT_TIMESTAMP: 'CURRENT_TIMESTAMP';
105105
CURRENT_USER: 'CURRENT_USER';
106106
CURSOR: 'CURSOR';
107107
CYCLE: 'CYCLE';
108-
DATA: 'DATA';
109108
DATA_COMPRESSION: 'DATA_COMPRESSION';
110109
DATA_SOURCE: 'DATA_SOURCE';
111110
DATABASE: 'DATABASE';
@@ -328,13 +327,11 @@ SAVE: 'SAVE';
328327
SCHEDULER: 'SCHEDULER';
329328
SCHEMA: 'SCHEMA';
330329
SCHEME: 'SCHEME';
331-
SECURITY: 'SECURITY';
332330
SECURITYAUDIT: 'SECURITYAUDIT';
333331
SELECT: 'SELECT';
334332
SEMANTICKEYPHRASETABLE: 'SEMANTICKEYPHRASETABLE';
335333
SEMANTICSIMILARITYDETAILSTABLE: 'SEMANTICSIMILARITYDETAILSTABLE';
336334
SEMANTICSIMILARITYTABLE: 'SEMANTICSIMILARITYTABLE';
337-
SEQUENCE: 'SEQUENCE';
338335
SERVER: 'SERVER';
339336
SERVICE: 'SERVICE';
340337
SERVICE_BROKER: 'SERVICE_BROKER';
@@ -364,7 +361,6 @@ STOP: 'STOP';
364361
STOPPED: 'STOPPED';
365362
STOP_ON_ERROR: 'STOP_ON_ERROR';
366363
SUPPORTED: 'SUPPORTED';
367-
SYSTEM: 'SYSTEM';
368364
SYSTEM_USER: 'SYSTEM_USER';
369365
TABLE: 'TABLE';
370366
TABLESAMPLE: 'TABLESAMPLE';
@@ -485,6 +481,7 @@ CREDENTIAL: 'CREDENTIAL';
485481
CRYPTOGRAPHIC: 'CRYPTOGRAPHIC';
486482
CURSOR_CLOSE_ON_COMMIT: 'CURSOR_CLOSE_ON_COMMIT';
487483
CURSOR_DEFAULT: 'CURSOR_DEFAULT';
484+
DATA: 'DATA';
488485
DATE_CORRELATION_OPTIMIZATION: 'DATE_CORRELATION_OPTIMIZATION';
489486
DATEADD: 'DATEADD';
490487
DATEDIFF: 'DATEDIFF';
@@ -740,12 +737,14 @@ SECONDARY_ONLY: 'SECONDARY_ONLY';
740737
SECONDARY_ROLE: 'SECONDARY_ROLE';
741738
SECONDS: 'SECONDS';
742739
SECRET: 'SECRET';
740+
SECURITY: 'SECURITY';
743741
SECURITY_LOG: 'SECURITY_LOG';
744742
SEEDING_MODE: 'SEEDING_MODE';
745743
SELF: 'SELF';
746744
SEMI_SENSITIVE: 'SEMI_SENSITIVE';
747745
SEND: 'SEND';
748746
SENT: 'SENT';
747+
SEQUENCE: 'SEQUENCE';
749748
SERIALIZABLE: 'SERIALIZABLE';
750749
SESSION_TIMEOUT: 'SESSION_TIMEOUT';
751750
SETERROR: 'SETERROR';
@@ -776,6 +775,7 @@ SUSPEND: 'SUSPEND';
776775
SYMMETRIC: 'SYMMETRIC';
777776
SYNCHRONOUS_COMMIT: 'SYNCHRONOUS_COMMIT';
778777
SYNONYM: 'SYNONYM';
778+
SYSTEM: 'SYSTEM';
779779
TAKE: 'TAKE';
780780
TARGET_RECOVERY_TIME: 'TARGET_RECOVERY_TIME';
781781
TB: 'TB';

sql/tsql/TSqlParser.g4

+5-1
Original file line numberDiff line numberDiff line change
@@ -3041,7 +3041,7 @@ asterisk
30413041
;
30423042

30433043
column_elem
3044-
: (table_name '.')? (column_name=id | '$' IDENTITY | '$' ROWGUID) as_column_alias?
3044+
: ((table_name '.')? (column_name=id | '$' IDENTITY | '$' ROWGUID) | NULL) as_column_alias?
30453045
;
30463046

30473047
udt_elem
@@ -3703,6 +3703,7 @@ simple_id
37033703
| CRYPTOGRAPHIC
37043704
| CURSOR_CLOSE_ON_COMMIT
37053705
| CURSOR_DEFAULT
3706+
| DATA
37063707
| DATA_COMPRESSION
37073708
| DATE_CORRELATION_OPTIMIZATION
37083709
| DATEADD
@@ -3971,12 +3972,14 @@ simple_id
39713972
| SECONDARY_ROLE
39723973
| SECONDS
39733974
| SECRET
3975+
| SECURITY
39743976
| SECURITY_LOG
39753977
| SEEDING_MODE
39763978
| SELF
39773979
| SEMI_SENSITIVE
39783980
| SEND
39793981
| SENT
3982+
| SEQUENCE
39803983
| SERIALIZABLE
39813984
| SERVER
39823985
| SESSION_TIMEOUT
@@ -4012,6 +4015,7 @@ simple_id
40124015
| SYMMETRIC
40134016
| SYNCHRONOUS_COMMIT
40144017
| SYNONYM
4018+
| SYSTEM
40154019
| TAKE
40164020
| TARGET
40174021
| TARGET_RECOVERY_TIME

sql/tsql/examples/Column_Elem.sql

+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
USE tempdb
2+
3+
CREATE TABLE col_elem_ex
4+
(
5+
ident int NOT NULL IDENTITY(1,1),
6+
rguid UNIQUEIDENTIFIER NOT NULL DEFAULT NEWID() ROWGUIDCOL,
7+
col1 INT
8+
)
9+
10+
INSERT INTO col_elem_ex(col1) VALUES(2)
11+
12+
SELECT $IDENTITY AS ident_col FROM col_elem_ex
13+
14+
SELECT $ROWGUID AS guid_col FROM col_elem_ex
15+
16+
SELECT col_elem_ex.col1 AS qualified_col FROM col_elem_ex
17+
18+
SELECT col1 AS nonQualified_col FROM col_elem_ex
19+
20+
SELECT NULL AS null_col FROM col_elem_ex
21+
22+
DROP TABLE col_elem_ex

0 commit comments

Comments
 (0)