8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-01-23 00:03:02 +01:00

Update keywords for FB4 and check against SQL:2016 (#154)

This commit is contained in:
Mark Rotteveel 2018-04-02 19:18:20 +02:00 committed by Alexander Peshkov
parent 19deaaaf05
commit d22a07090c

View File

@ -2,21 +2,24 @@
SQL keywords introduced in different server versions SQL keywords introduced in different server versions
---------------------------------------------------- ----------------------------------------------------
An asterisk (*) mark shows that a keyword doesn't exist in the SQL specification Deviations from the standard:
and hence should be considered a non-standard language extention. * : keyword does not exist in the SQL:2016 specification and should be
considered a non-standard language extention.
(1) : reserved word in SQL:2016, non-reserved in Firebird
(2) : non-reserved word in SQL:2016, reserved word in Firebird
Firebird 1.0 Firebird 1.0
------------ ------------
Added as reserved words: Added as reserved words:
CURRENT_USER
CURRENT_ROLE
BREAK * BREAK *
DESCRIPTOR CURRENT_ROLE
FIRST CURRENT_USER
DESCRIPTOR (2)
FIRST (2)
RECREATE * RECREATE *
SKIP * SKIP
SUBSTRING SUBSTRING
Firebird 1.5 Firebird 1.5
@ -24,42 +27,42 @@ Firebird 1.5
Added as reserved words: Added as reserved words:
CURRENT_CONNECTION *
CURRENT_TRANSACTION *
BIGINT BIGINT
CASE CASE
CURRENT_CONNECTION *
CURRENT_TRANSACTION *
RELEASE RELEASE
ROW_COUNT ROW_COUNT
SAVEPOINT SAVEPOINT
Added as non-reserved words: Added as non-reserved words:
COALESCE COALESCE (1)
DELETING * DELETING *
INSERTING * INSERTING *
LAST LAST
LEAVE LEAVE *
LOCK * LOCK *
NULLIF NULLIF (1)
NULLS NULLS
STATEMENT STATEMENT
UPDATING * UPDATING *
USING USING (1)
Moved from reserved words to non-reserved: Moved from reserved words to non-reserved:
BREAK * BREAK *
DESCRIPTOR DESCRIPTOR
FIRST FIRST
SKIP * SKIP (1)
SUBSTRING SUBSTRING (1)
Firebird 2.0 Firebird 2.0
------------ ------------
Added as reserved words: Added as reserved words:
BIT_LENGTH BIT_LENGTH *
BOTH BOTH
CHAR_LENGTH CHAR_LENGTH
CHARACTER_LENGTH CHARACTER_LENGTH
@ -90,7 +93,7 @@ Firebird 2.0
SCALAR_ARRAY * SCALAR_ARRAY *
SEQUENCE SEQUENCE
RESTART RESTART
RETURNING * RETURNING
Moved from reserved words to non-reserved: Moved from reserved words to non-reserved:
@ -129,49 +132,49 @@ Firebird 2.1
Added as non-reserved words: Added as non-reserved words:
ABS ABS (1)
ACCENT * ACCENT *
ACOS * ACOS (1)
ALWAYS * ALWAYS
ASCII_CHAR * ASCII_CHAR *
ASCII_VAL * ASCII_VAL *
ASIN * ASIN (1)
ATAN * ATAN (1)
ATAN2 * ATAN2 *
BIN_AND * BIN_AND *
BIN_OR * BIN_OR *
BIN_SHL * BIN_SHL *
BIN_SHR * BIN_SHR *
BIN_XOR * BIN_XOR *
CEIL CEIL (1)
CEILING CEILING (1)
COS * COS (1)
COSH * COSH (1)
COT * COT *
DATEADD * DATEADD *
DATEDIFF * DATEDIFF *
DECODE * DECODE *
EXP EXP (1)
FLOOR FLOOR (1)
GEN_UUID * GEN_UUID *
GENERATED GENERATED
HASH * HASH *
LIST * LIST *
LN LN (1)
LOG * LOG (1)
LOG10 * LOG10 (1)
LPAD * LPAD *
MATCHED MATCHED
MATCHING * MATCHING *
MAXVALUE * MAXVALUE
MILLISECOND * MILLISECOND *
MINVALUE * MINVALUE
MOD MOD (1)
OVERLAY OVERLAY (1)
PAD PAD
PI * PI *
PLACING PLACING
POWER POWER (1)
PRESERVE PRESERVE
RAND * RAND *
REPLACE * REPLACE *
@ -179,12 +182,12 @@ Firebird 2.1
ROUND * ROUND *
RPAD * RPAD *
SIGN * SIGN *
SIN * SIN (1)
SINH * SINH (1)
SPACE SPACE
SQRT SQRT (1)
TAN * TAN (1)
TANH * TANH (1)
TEMPORARY TEMPORARY
TRUNC * TRUNC *
WEEK * WEEK *
@ -210,11 +213,10 @@ Firebird 2.5
MIDDLENAME * MIDDLENAME *
MAPPING * MAPPING *
OS_NAME * OS_NAME *
SOURCE * SOURCE
TWO_PHASE * TWO_PHASE *
UUID_TO_CHAR * UUID_TO_CHAR *
Firebird 3.0 Firebird 3.0
------------ ------------
@ -224,10 +226,8 @@ Firebird 3.0
CORR CORR
COVAR_POP COVAR_POP
COVAR_SAMP COVAR_SAMP
DELETING *
DETERMINISTIC DETERMINISTIC
FALSE FALSE
INSERTING *
OFFSET OFFSET
OVER OVER
RDB$RECORD_VERSION * RDB$RECORD_VERSION *
@ -243,15 +243,22 @@ Firebird 3.0
RETURN RETURN
ROW ROW
SCROLL SCROLL
SQLSTATE * SQLSTATE
STDDEV_POP STDDEV_POP
STDDEV_SAMP STDDEV_SAMP
TRUE TRUE
UNKNOWN UNKNOWN
UPDATING *
VAR_POP VAR_POP
VAR_SAMP VAR_SAMP
Moved from non-reserved words to reserved:
DELETING *
INSERTING *
RDB$GET_CONTEXT *
RDB$SET_CONTEXT *
UPDATING *
Added as non-reserved words: Added as non-reserved words:
ABSOLUTE ABSOLUTE
@ -262,53 +269,71 @@ Firebird 3.0
CONTINUE CONTINUE
DDL * DDL *
DECRYPT * DECRYPT *
DENSE_RANK DENSE_RANK (1)
ENCRYPT * ENCRYPT *
ENGINE * ENGINE *
FIRST_VALUE FIRST_VALUE (1)
IDENTITY IDENTITY (1)
INCREMENT INCREMENT
LAST_VALUE LAST_VALUE (1)
LAG LAG (1)
LEAD LEAD (1)
LINGER * LINGER *
NAME NAME
NTH_VALUE NTH_VALUE (1)
PACKAGE * PACKAGE *
PARTITION PARTITION (1)
PLUGIN * PLUGIN *
PRIOR PRIOR
RANK RANK (1)
RELATIVE RELATIVE
ROW_NUMBER ROW_NUMBER (1)
SERVERWIDE * SERVERWIDE *
TAGS * TAGS *
TRUSTED * TRUSTED *
USAGE USAGE
Firebird 4.0 Firebird 4.0
------------ ------------
Added as reserved words: Added as reserved words:
UNBOUNDED
WINDOW
BINARY BINARY
DECFLOAT
RDB$ERROR *
RDB$ROLE_IN_USE *
RDB$SYSTEM_PRIVILEGE *
UNBOUNDED (2)
VARBINARY VARBINARY
WINDOW
Added as non-reserved words: Added as non-reserved words:
CUME_DIST * BIND *
COMPARE_DECFLOAT *
CUME_DIST (1)
DEFINER
EXCLUDE EXCLUDE
FIRST_DAY *
FOLLOWING FOLLOWING
NTILE * IDLE *
INVOKER
LAST_DAY *
MESSAGE *
NATIVE *
NORMALIZE_DECFLOAT *
NTILE (1)
OTHERS OTHERS
PERCENT_RANK * OVERRIDING
PERCENT_RANK (1)
PRECEDING PRECEDING
PRIVILEGE * PRIVILEGE *
RANGE * QUANTIZE *
RDB$ROLE_IN_USE * RANGE (1)
RDB$SYSTEM_PRIVILEGE * SECURITY
SYSTEM * SESSION
SQL (1)
SYSTEM (1)
TIES TIES
TOTALORDER *
TRAPS *