package com.alibaba.druid.sql.parser;

public enum SQLType {
    SELECT,
    UPDATE,
    INSERT_SELECT,
    INSERT_INTO_SELECT,
    INSERT_OVERWRITE_SELECT,
    INSERT_VALUES,
    INSERT_INTO_VALUES,
    INSERT_OVERWRITE_VALUES,
    INSERT,
    INSERT_INTO,
    INSERT_OVERWRITE,
    INSERT_MULTI,
    DELETE,
    MERGE,

    CREATE,
    ALTER,
    DROP,
    TRUNCATE,

    REPLACE,
    ANALYZE,

    EXPLAIN,

    SHOW,
    SHOW_TABLES,
    SHOW_USERS,
    SHOW_PARTITIONS,
    SHOW_CATALOGS,
    SHOW_FUNCTIONS,
    SHOW_ROLE,
    SHOW_ROLES,
    SHOW_PACKAGE,
    SHOW_PACKAGES,
    SHOW_CHANGELOGS,
    SHOW_ACL,
    SHOW_RECYCLEBIN,
    SHOW_VARIABLES,
    SHOW_HISTORY,
    SHOW_GRANT,
    SHOW_GRANTS,
    SHOW_CREATE_TABLE,
    SHOW_STATISTIC,
    SHOW_STATISTIC_LIST,
    SHOW_LABEL,
    DESC,
    SET,
    SET_PROJECT,
    SET_LABEL,
    DUMP_DATA,
    LIST, // for analyticdb
    LIST_USERS,
    LIST_TABLES,
    LIST_ROLES,
    LIST_TENANT_ROLES,
    LIST_TRUSTEDPROJECTS,
    LIST_ACCOUNTPROVIDERS,
    LIST_TEMPORARY_OUTPUT,
    WHO, // for analyticdb
    GRANT,
    REVOKE,

    COMMIT,
    ROLLBACK,
    USE,
    KILL,
    MSCK,

    ADD_USER,
    REMOVE_USER,
    REMOVE_RESOURCE,

    CREATE_USER,
    CREATE_TABLE,
    CREATE_TABLE_AS_SELECT,
    CREATE_VIEW,
    CREATE_FUNCTION,
    CREATE_ROLE,
    CREATE_PACKAGE,

    DROP_USER,
    DROP_TABLE,
    DROP_VIEW,
    DROP_MATERIALIZED_VIEW,
    DROP_FUNCTION,
    DROP_ROLE,
    DROP_RESOURCE,
    ALTER_USER,
    ALTER_TABLE,
    ALTER_VIEW,
    READ,

    ADD_TABLE,
    ADD_FUNCTION,
    ADD_RESOURCE,
    ADD_TRUSTEDPROJECT,
    ADD_VOLUME,
    ADD_STATISTIC,
    ADD_ACCOUNTPROVIDER,
    TUNNEL_DOWNLOAD,
    UPLOAD,

    WHOAMI,
    SCRIPT,
    COUNT,

    ADD,
    CLONE,
    LOAD,
    INSTALL,
    UNLOAD,
    ALLOW,
    PURGE,
    RESTORE,
    EXSTORE,
    UNDO,
    REMOVE,

    EMPTY,

    ALTER_TABLE_ADD_PARTITION,
    ALTER_TABLE_MERGE_PARTITION,
    ALTER_TABLE_DROP_PARTITION,
    ALTER_TABLE_RENAME_PARTITION,
    ALTER_TABLE_SET_LIFECYCLE,
    ALTER_TABLE_ENABLE_LIFECYCLE,
    ALTER_TABLE_DISABLE_LIFECYCLE,
    ALTER_TABLE_RENAME,
    ALTER_TABLE_ADD_COLUMN,
    ALTER_TABLE_RENAME_COLUMN,
    ALTER_TABLE_ALTER_COLUMN,
    ALTER_TABLE_SET_TBLPROPERTIES,
    ALTER_TABLE_SET_COMMENT,
    ALTER_TABLE_TOUCH,
    ALTER_TABLE_CHANGE_OWNER,

    MULTI,

    WITH,
    SET_UNKNOWN,
    UNKNOWN,

    ERROR,
}
