001package gudusoft.gsqlparser;
002
003/**
004 * Type of {@link gudusoft.gsqlparser.nodes.TConstant}
005 */
006public enum ELiteralType {
007    unknownType(0,"unknown"),
008    etNumber(1,"number"),
009    etFloat(2,"float"),
010    etString(3,"string"),
011    etTimestamp(4,"timestamp"),
012    etDate(5,"date"),
013    etTime(6,"time"),
014    etInterval(7,"interval"),
015    etTrue(8,"true"),
016    etFalse(9,"false"),
017    /**
018     * Oracle bind variable
019     */
020    etBindVar(10,"bindvar"),
021    /**
022     * Hive string list datatype
023     */
024    etStringLiteralSequence(11,"stringLiteralSequence"),
025
026    integer_et(12,"integer"),
027    string_et(13,"string"),
028    real_et(14,"real"),
029    money_et(15,"money"),
030    binary_et(16,"binary"),
031    null_et(17,"null"),
032    default_et(18,"default"),
033    max_et(19,"max"),
034    odbc_et(20,"odbc"),
035    numeric_et(21,"numeric"),
036
037    character_string(22,"character"),
038    national_character_string(23,"national character string"),
039    unicode_character_string(24,"unicode character string"),
040    binary_string(25,"binary"),
041    datetime_date(26,"datetime_date"),
042    datetime_time(27,"datetime_time"),
043    datetime_timestamp(28,"datetime_timestamp"),
044    interval(29,"interval"),
045    bool(30,"bool"),
046    current_schema(31,"current_schema"),
047    array_literals(32,"array_literals"),
048    etFakeDate(33,"fake_date"),//teradata
049    etStar(34,"*"),// *
050    etJson(38,"json_constant"),// *
051
052    etPeriod(40,"period"),//teradata
053
054    etAny(55,"any") ,//netezza: CHARACTER VARYING(ANY)
055
056    etDefault(56,"default") ,//mysql, default
057    etMaxValue(57,"maxvalue"),// mysql, maxalue
058
059    etArray(70,"array"), // vertica complex type: array
060    etMap(71,"map"), // vertica complex type: map
061    etRow(72,"row"), // vertica complex type: row
062    etSet(80,"set") ;// vertica complex type literal: set
063
064
065    private final int value;
066    private final String text;
067
068    public String getText() {
069        return text;
070    }
071
072    private ELiteralType(int value, String text) {
073        this.value = value;
074        this.text = text;
075    }
076
077    public int getValue() {
078        return value;
079    }
080}