package com.chenyang.druid.sql.parser;

public enum Token {
   SELECT("SELECT"),
   DELETE("DELETE"),
   INSERT("INSERT"),
   UPDATE("UPDATE"),
   FROM("FROM"),
   HAVING("HAVING"),
   WHERE("WHERE"),
   ORDER("ORDER"),
   BY("BY"),
   GROUP("GROUP"),
   INTO("INTO"),
   AS("AS"),
   CREATE("CREATE"),
   ALTER("ALTER"),
   DROP("DROP"),
   SET("SET"),
   RESET("RESET"),
   NULL("NULL"),
   ABSENT("ABSENT"),
   NOT("NOT"),
   DISTINCT("DISTINCT"),
   TABLE("TABLE"),
   TABLESPACE("TABLESPACE"),
   VIEW("VIEW"),
   MATERIALIZED("MATERIALIZED"),
   SEQUENCE("SEQUENCE"),
   TRIGGER("TRIGGER"),
   USER("USER"),
   INDEX("INDEX"),
   SESSION("SESSION"),
   PROCEDURE("PROCEDURE"),
   FUNCTION("FUNCTION"),
   ELSEIF("ELSEIF"),
   PRIMARY("PRIMARY"),
   KEY("KEY"),
   VALUE("VALUE"),
   DEFAULT("DEFAULT"),
   CONSTRAINT("CONSTRAINT"),
   CHECK("CHECK"),
   UNIQUE("UNIQUE"),
   FOREIGN("FOREIGN"),
   REFERENCES("REFERENCES"),
   EXPLAIN("EXPLAIN"),
   FOR("FOR"),
   IF("IF"),
   GLOBAL("GLOBAL"),
   ALL("ALL"),
   UNION("UNION"),
   EXCEPT("EXCEPT"),
   INTERSECT("INTERSECT"),
   MINUS("MINUS"),
   INNER("INNER"),
   LEFT("LEFT"),
   RIGHT("RIGHT"),
   FULL("FULL"),
   OUTER("OUTER"),
   JOIN("JOIN"),
   STRAIGHT_JOIN("STRAIGHT_JOIN"),
   ON("ON"),
   SCHEMA("SCHEMA"),
   CAST("CAST"),
   COLUMN("COLUMN"),
   USE("USE"),
   DATABASE("DATABASE"),
   TO("TO"),
   AND("AND"),
   OR("OR"),
   XOR("XOR"),
   CASE("CASE"),
   WHEN("WHEN"),
   THEN("THEN"),
   ELSE("ELSE"),
   ELSIF("ELSIF"),
   END("END"),
   EXISTS("EXISTS"),
   IN("IN"),
   NEW("NEW"),
   ASC("ASC"),
   DESC("DESC"),
   IS("IS"),
   LIKE("LIKE"),
   ESCAPE("ESCAPE"),
   BETWEEN("BETWEEN"),
   VALUES("VALUES"),
   INTERVAL("INTERVAL"),
   MINUTE("MINUTE"),
   DAY("DAY"),
   SECOND("SECOND"),
   HOUR("HOUR"),
   YEAR("YEAR"),
   MONTH("MONTH"),
   MICROSECOND("MICROSECOND"),
   WEEK("WEEK"),
   QUARTER("QUARTER"),
   SECOND_MICROSECOND("SECOND_MICROSECOND"),
   MINUTE_MICROSECOND("MINUTE_MICROSECOND"),
   MINUTE_SECOND("MINUTE_SECOND"),
   HOUR_MICROSECOND("HOUR_MICROSECOND"),
   HOUR_SECOND("HOUR_SECOND"),
   HOUR_MINUTE("HOUR_MINUTE"),
   DAY_MICROSECOND("DAY_MICROSECOND"),
   DAY_SECOND("DAY_SECOND"),
   DAY_MINUTE("DAY_MINUTE"),
   DAY_HOUR("DAY_HOUR"),
   YEAR_MONTH("YEAR_MONTH"),
   LOCK("LOCK"),
   SOME("SOME"),
   ANY("ANY"),
   TRUNCATE("TRUNCATE"),
   RETURN("RETURN"),
   TRUE("TRUE"),
   FALSE("FALSE"),
   LIMIT("LIMIT"),
   KILL("KILL"),
   IDENTIFIED("IDENTIFIED"),
   PASSWORD("PASSWORD"),
   DUAL("DUAL"),
   BINARY("BINARY"),
   SHOW("SHOW"),
   ABORT("ABORT"),
   REPLACE("REPLACE"),
   PERIOD("PERIOD"),
   REPAIR("REPAIR"),
   BITS,
   WHILE("WHILE"),
   DO("DO"),
   LEAVE("LEAVE"),
   ITERATE("ITERATE"),
   REPEAT("REPEAT"),
   UNTIL("UNTIL"),
   OPEN("OPEN"),
   CLOSE("CLOSE"),
   OUT("OUT"),
   INOUT("INOUT"),
   EXIT("EXIT"),
   UNDO("UNDO"),
   SQLSTATE("SQLSTATE"),
   CONDITION("CONDITION"),
   DIV("DIV"),
   WINDOW("WINDOW"),
   OFFSET("OFFSET"),
   ROW("ROW"),
   ROWS("ROWS"),
   ONLY("ONLY"),
   FIRST("FIRST"),
   NEXT("NEXT"),
   FETCH("FETCH"),
   OF("OF"),
   SHARE("SHARE"),
   NOWAIT("NOWAIT"),
   RECURSIVE("RECURSIVE"),
   TEMPORARY("TEMPORARY"),
   TEMP("TEMP"),
   UNLOGGED("UNLOGGED"),
   RESTART("RESTART"),
   IDENTITY("IDENTITY"),
   CONTINUE("CONTINUE"),
   CASCADE("CASCADE"),
   RESTRICT("RESTRICT"),
   USING("USING"),
   CURRENT("CURRENT"),
   RETURNING("RETURNING"),
   BULK("BULK"),
   COLLECT("COLLECT"),
   COMMENT("COMMENT"),
   OVER("OVER"),
   TYPE("TYPE"),
   ILIKE("ILIKE"),
   RLIKE("RLIKE"),
   FULLTEXT("FULLTEXT"),
   NATURAL("NATURAL"),
   START("START"),
   PRIOR("PRIOR"),
   CONNECT("CONNECT"),
   WITH("WITH"),
   WITHOUT("WITHOUT"),
   LOCAL("LOCAL"),
   EXTRACT("EXTRACT"),
   CURSOR("CURSOR"),
   LIKEC("LIKEC"),
   LIKE2("LIKE2"),
   LIKE4("LIKE4"),
   TIES("TIES"),
   CONTENT("CONTENT"),
   DOCUMENT("DOCUMENT"),
   WELLFORMED("WELLFORMED"),
   MERGE("MERGE"),
   MATCHED("MATCHED"),
   ERRORS("ERRORS"),
   REJECT("REJECT"),
   UNLIMITED("UNLIMITED"),
   BEGIN("BEGIN"),
   EXCLUSIVE("EXCLUSIVE"),
   MODE("MODE"),
   WAIT("WAIT"),
   ADVISE("ADVISE"),
   SYSDATE("SYSDATE"),
   DECLARE("DECLARE"),
   EXCEPTION("EXCEPTION"),
   GRANT("GRANT"),
   REVOKE("REVOKE"),
   LOOP("LOOP"),
   GOTO("GOTO"),
   COMMIT("COMMIT"),
   SAVEPOINT("SAVEPOINT"),
   CROSS("CROSS"),
   APPLY("APPLY"),
   PRECEDES("PRECEDES "),
   FOLLOWS("FOLLOWS "),
   PCTFREE("PCTFREE"),
   INITRANS("INITRANS"),
   MAXTRANS("MAXTRANS"),
   INITIALLY("INITIALLY"),
   ENABLE("ENABLE"),
   DISABLE("DISABLE"),
   SEGMENT("SEGMENT"),
   CREATION("CREATION"),
   IMMEDIATE("IMMEDIATE"),
   DEFERRED("DEFERRED"),
   STORAGE("STORAGE"),
   MINEXTENTS("MINEXTENTS"),
   MAXEXTENTS("MAXEXTENTS"),
   MAXSIZE("MAXSIZE"),
   PCTINCREASE("PCTINCREASE"),
   FLASH_CACHE("FLASH_CACHE"),
   CELL_FLASH_CACHE("CELL_FLASH_CACHE"),
   NONE("NONE"),
   LOB("LOB"),
   STORE("STORE"),
   CHUNK("CHUNK"),
   CACHE("CACHE"),
   NOCACHE("NOCACHE"),
   LOGGING("LOGGING"),
   NOCOMPRESS("NOCOMPRESS"),
   KEEP_DUPLICATES("KEEP_DUPLICATES"),
   EXCEPTIONS("EXCEPTIONS"),
   PURGE("PURGE"),
   COMPUTE("COMPUTE"),
   ANALYZE("ANALYZE"),
   OPTIMIZE("OPTIMIZE"),
   TOP("TOP"),
   ARRAY("ARRAY"),
   DISTRIBUTE("DISTRIBUTE"),
   VACUUM("VACUUM"),
   DOMAIN("DOMAIN"),
   ROLE("ROLE"),
   EXECUTE("EXECUTE"),
   LOAD("LOAD"),
   EOF,
   ERROR,
   IDENTIFIER,
   MONEY,
   HINT,
   VARIANT,
   LITERAL_INT,
   LITERAL_FLOAT,
   LITERAL_HEX,
   LITERAL_CHARS,
   LITERAL_NCHARS,
   LITERAL_DBNUMBER,
   LITERAL_PATH,
   LITERAL_ALIAS,
   LINE_COMMENT,
   MULTI_LINE_COMMENT,
   BINARY_FLOAT,
   BINARY_DOUBLE,
   PARTITION,
   PARTITIONED,
   OVERWRITE,
   SORT,
   LATERAL,
   DIRECTORY,
   SEL("SEL"),
   LOCKING("LOCKING"),
   ACCESS("ACCESS"),
   VOLATILE("VOLATILE"),
   MULTISET("MULTISET"),
   POSITION("POSITION"),
   RANGE_N("RANGE_N"),
   FORMAT("FORMAT"),
   QUALIFY("QUALIFY"),
   MOD("MOD"),
   CONTAINS("CONTAINS"),
   CONCAT("CONCAT"),
   UPSERT("UPSERT"),
   LPAREN("("),
   RPAREN(")"),
   LBRACE("{"),
   RBRACE("}"),
   LBRACKET("["),
   RBRACKET("]"),
   SEMI(";"),
   COMMA(","),
   DOT("."),
   DOTDOT(".."),
   DOTDOTDOT("..,"),
   EQ("="),
   GT(">"),
   LT("<"),
   LT_SUB_GT("<->"),
   BANG("!"),
   BANGBANG("!!"),
   BANG_TILDE("!~"),
   BANG_TILDE_STAR("!~*"),
   TILDE("~"),
   TILDE_STAR("~*"),
   TILDE_EQ("~="),
   QUES("?"),
   QUESQUES("??"),
   QUESBAR("?|"),
   QUESAMP("?&"),
   COLON(":"),
   COLONCOLON("::"),
   COLONEQ(":="),
   EQEQ("=="),
   EQGT("=>"),
   LTEQ("<="),
   LTEQGT("<=>"),
   LTGT("<>"),
   GTEQ(">="),
   BANGEQ("!="),
   BANGGT("!>"),
   BANGLT("!<"),
   AMPAMP("&&"),
   BARBAR("||"),
   BARBARSLASH("||/"),
   BARSLASH("|/"),
   PLUS("+"),
   SUB("-"),
   SUBGT("->"),
   SUBGTGT("->>"),
   STAR("*"),
   SLASH("/"),
   AMP("&"),
   BAR("|"),
   CARET("^"),
   CARETEQ("^="),
   PERCENT("%"),
   LTLT("<<"),
   GTGT(">>"),
   MONKEYS_AT("@"),
   MONKEYS_AT_AT("@@"),
   POUND("#"),
   POUNDGT("#>"),
   POUNDGTGT("#>>"),
   MONKEYS_AT_GT("@>"),
   LT_MONKEYS_AT("<@"),
   SCAN("SCAN"),
   GET("GET"),
   COLUMNS("COLUMNS"),
   FILTER("FILTER"),
   STARTROW("STARTROW"),
   STOPROW("STOPROW"),
   VERSIONS("VERSIONS"),
   METRICS("METRICS"),
   ATTRIBUTES("ATTRIBUTES"),
   AUTHORIZATIONS("AUTHORIZATIONS"),
   TIMERANGE("TIMERANGE"),
   TIMESTAMP("TIMESTAMP"),
   TIMESTAMPTZ("TIMESTAMPTZ"),
   TIME("TIME"),
   DATE("DATE"),
   PUT("PUT"),
   DROP_ALL("DROP_ALL"),
   DISABLE_ALL("DISABLE_ALL"),
   TRUNCATE_PRESERVE("TRUNCATE_PRESERVE"),
   ISNULL("ISNULL"),
   NOTNULL("NOTNULL"),
   CONFLICT("CONFLICT"),
   NOTHING("NOTHING"),
   OVERRIDING("OVERRIDING"),
   SYSTEM("SYSTEM"),
   EXCLUDE("EXCLUDE"),
   INFINITY("INFINITY"),
   NAN("NAN"),
   EPOCH("EPOCH"),
   TODAY("TODAY"),
   TOMORROW("TOMORROW"),
   YESTERDAY("YESTERDAY"),
   ALLBALLS("ALLBALLS"),
   ROWNUM("ROWNUM"),
   LITERAL_BCHARS,
   AddAssignment("+="),
   SubtractAssignment("-="),
   MultiplyAssignment("*="),
   DivideAssignment("/="),
   ModulusAssignment("%="),
   BitwiseAndAssignment("&="),
   BitwiseOrAssignment("|="),
   AT("AT"),
   ZONE("ZONE"),
   PIVOT("PIVOT"),
   UNPIVOT("UNPIVOT"),
   TABLESAMPLE("TABLESAMPLE");

   public final String name;

   private Token() {
      this(null);
   }

   private Token(String name) {
      this.name = name;
   }
}
