A newer version of this documentation is available.

View Latest

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:

    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

    GOLANG
    GRANT
    GROUP
    GROUPS
    GSI

    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
    MINVALUE
    MISSING

    N

    NAMESPACE
    NEST
    NEXT
    NEXTVAL
    NL
    NO
    NOT
    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
    ROLLBACK
    ROW
    ROWS

    S

    SATISFIES
    SAVEPOINT
    SCHEMA
    SCOPE
    SELECT
    SELF
    SEQUENCE
    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