Reserved Words

  • reference
SQL++ defines an extensive list of keywords that are reserved words. You cannot use these keywords as identifiers unless you escape them. All of the SQL++ keywords are case-insensitive.

Some keywords are not currently implemented but are reserved for future use.

Using Reserved Words as Identifiers

SQL++ allows escaped identifiers to overlap with keywords. To use a reserved word as an identifier, you must escape it by enclosing the reserved word inside backticks (``). For example, if your JSON document contains a field named index, you can use it in your queries by escaping it like this:

{
    "age": "42",
    "index": 27,
    "name": "Elvis"
}
CREATE INDEX myindex ON default(`index`) USING GSI;

SQL++ Reserved Words

The following keywords are reserved and cannot be used as unescaped identifiers.

The word AI is not a reserved word, even though you can use it in combination with the USING keyword as part of the USING AI statement. You do not have to escape the word AI inside backticks when using it by itself as an identifier.

Symbols

_INDEX_CONDITION
_INDEX_KEY

A

ADVISE
ALL
ALTER
ANALYZE
AND
ANY
ARRAY
AS
ASC
AT

B

BEGIN
BETWEEN
BINARY
BOOLEAN
BREAK
BUCKET
BUILD
BY

C

CACHE
CALL
CASE
CAST
CLUSTER
COLLATE
COLLECTION
COMMIT
COMMITTED
CONNECT
CONTINUE
CORRELATED
COVER
CREATE
CURRENT
CYCLE

D

DATABASE
DATASET
DATASTORE
DECLARE
DECREMENT
DEFAULT
DELETE
DERIVED
DESC
DESCRIBE
DISTINCT
DO
DROP

E

EACH
ELEMENT
ELSE
END
ESCAPE
EVERY
EXCEPT
EXCLUDE
EXECUTE
EXISTS
EXPLAIN

F

FALSE
FETCH
FILTER
FIRST
FLATTEN
FLATTEN_KEYS
FLUSH
FOLLOWING
FOR
FORCE
FROM
FTS
FUNCTION

G

H

HASH
HAVING

I

IF
IGNORE
ILIKE
IN
INCLUDE
INCREMENT
INDEX
INFER
INLINE
INNER
INSERT
INTERSECT
INTO
IS
ISOLATION

K

KEY
KEYS
KEYSPACE
KNOWN

L

LANGUAGE
LAST
LATERAL
LEFT
LET
LETTING
LEVEL
LIKE
LIMIT
LSM

M

MAP
MAPPING
MATCHED
MATERIALIZED
MAXVALUE
MERGE
MINUS
MINVALUE
MISSING

N

NAMESPACE
NAMESPACE_ID
NEST
NEXT
NEXTVAL
NL
NO
NOT
NOT_A_TOKEN
NTH_VALUE
NULL
NULLS
NUMBER

O

OBJECT
OFFSET
ON
OPTION
OPTIONS
OR
ORDER
OTHERS
OUTER
OVER

P

PARSE
PARTITION
PASSWORD
PATH
POOL
PRECEDING
PREPARE
PREV
PREVIOUS
PREVVAL
PRIMARY
PRIVATE
PRIVILEGE
PROBE
PROCEDURE
PUBLIC

R

RANGE
RAW
READ
REALM
RECURSIVE
REDUCE
RENAME
REPLACE
RESPECT
RESTART
RESTRICT
RETURN
RETURNING
REVOKE
RIGHT
ROLE
ROLES
ROLLBACK
ROW
ROWS

S

SATISFIES
SAVEPOINT
SCHEMA
SCOPE
SELECT
SELF
SEQUENCE
SEMI
SET
SHOW
SOME
START
STATISTICS
STRING
SYSTEM

T

THEN
TIES
TO
TRAN
TRANSACTION
TRIGGER
TRUE
TRUNCATE

U

UNBOUNDED
UNDER
UNION
UNIQUE
UNKNOWN
UNNEST
UNSET
UPDATE
UPSERT
USE
USER
USERS
USING

V

VALIDATE
VALUE
VALUED
VALUES
VECTOR
VIA
VIEW

W

WHEN
WHERE
WHILE
WINDOW
WITH
WITHIN
WORK

X

XOR