001package gudusoft.gsqlparser;
002
003/**
004* @since v1.4.3.0
005*/
006
007public enum EDataType {
008    unknown_t,
009    /**
010     * user defined datetype
011     */
012    generic_t,
013    bfile_t,
014    /**
015     * ansi2003: bigint
016     * postgresql
017     */
018    bigint_t,
019    bignumeric_t,//bigquery
020    /**
021     * ansi2003: blob
022     */
023    binary_t,
024    binary_float_t,
025    binary_double_t,
026    /**
027     * plsql binary_integer
028     */
029    binary_integer_t,
030    /**
031     * binary large object
032     * Databases: DB2, teradata
033     */
034    binary_large_object_t,
035    bit_t,
036    bit_varying_t, // = varbit
037    blob_t,
038    /**
039     * bool, boolean, ansi2003: boolean
040     */
041    bool_t,
042    box_t,
043    /**
044     * teradata: byte
045     */
046    byte_t,
047    bytea_t, //ansi2003 blob
048    /**
049     * teradata byteint
050     */
051    byteint_t,
052    /**
053     * char, character,  ansi2003: character
054     */
055    character_t,
056    char_t,
057    char_for_bit_data_t,
058    /**
059     * teradata: character large object
060     */
061    char_large_object_t,
062    cidr_t,
063    circle_t,
064    clob_t,
065    cursor_t,
066    datalink_t,
067    date_t,
068    /**
069     *  ansi2003: timestamp
070     */
071    datetime_t,
072    datetimeoffset_t,// ansi2003: timestamp
073    datetime2_t, //  ansi2003: timestamp with time zone
074    /**
075     * ansi2003: nclob
076     * Databases: DB2
077     */
078    dbclob_t,
079    /**
080     * dec,decimal, ansi2003: decimal
081     */
082    decimal_t,
083    dec_t,
084    /**
085     * double, double precision, ansi2003: float
086     */
087    double_t,
088    enum_t,
089    float_t,// ansi2003: double precision
090    float4_t,// ansi2003: float(p)
091    float8_t, // ansi2003 float(p)
092    /**
093     * ansi2003 blob
094     */
095    graphic_t,
096    geography_t,
097    geometry_t,
098    hierarchyid_t,
099    image_t,
100    inet_t,
101    /**
102     * int, integer, ansi2003: integer
103     */
104    integer_t,
105    int_t,
106    int2_t, // ansi2003: smallint
107    int4_t, // ansi2003: int, integer
108    /**
109     * Postgresql
110     */
111    interval_t,
112    /**
113     * teradata: interval day
114     */
115    interval_day_t,
116    /**
117     * teradata: interval day to hour
118     */
119    interval_day_to_hour_t,
120    /**
121     * teradata: interval day to minute
122     */
123    interval_day_to_minute_t,
124    interval_day_to_second_t,
125    /**
126     * teradata: interval hour
127     */
128    interval_hour_t,
129    /**
130     * teradata: interval hour to minute
131     */
132    interval_hour_to_minute_t,
133    /**
134     * teradata: interval hour to second
135     */
136    interval_hour_to_second_t,
137    /**
138     * teradata: interval minute
139     */
140    interval_minute_t,
141    /**
142     * teradata: interval minute to second
143     */
144    interval_minute_to_second_t,
145    /**
146     * teradata: interval month
147     */
148    interval_month_t,
149    /**
150     * teradata:interval second
151     */
152    interval_second_t,
153    /**
154     * teradata interval year.
155     */
156    interval_year_t,
157    interval_year_to_month_t,
158    line_t,
159    long_t,
160    long_varchar_t,
161    /**
162     * long varbinary, mysql
163     * MySQL Connector/ODBC defines BLOB values as LONGVARBINARY and TEXT values as LONGVARCHAR.
164     */
165    long_varbinary_t,
166    longblob_t, // ansi2003: blob
167    /**
168     *  ansi2003: blob
169     */
170    long_raw_t,
171    long_vargraphic_t,
172    longtext_t,
173    lseg_t,
174    macaddr_t,
175    mediumblob_t,
176    /**
177     * mediumint, middleint(MySQL) , ansi2003:  int
178     */
179    mediumint_t,
180    mediumtext_t,
181    money_t, // = decimal(9,2),INFORMIX
182    /**
183     * national_char_varying,nchar_varying,nvarchar, ansi2003: national character varying
184     */
185    nvarchar_t,
186    /**
187     * nchar, national char, national character,ansi2003: national character
188     */
189    nchar_t,
190    ncharacter_t,
191    /**
192     * ansi2003: nclob
193     */
194    nclob_t,
195    /**
196     * ntext, national text, ansi2003: nclob
197     */
198    ntext_t,
199    /**
200     * nvarchar2(n)
201     */
202    nvarchar2_t,
203    /**
204     * number, num
205     */
206    number_t,
207    /**
208     *  ansi2003: numeric
209     */
210    numeric_t,
211    oid_t,
212    path_t,
213    /**
214     * teradata: period(n)
215     */
216    period_t,
217    /**
218     * plsql pls_integer
219     */
220    pls_integer_t,
221    point_t,
222    polygon_t,
223    raw_t,
224    /**
225     * ansi2003: real
226     */
227    real_t,
228    rowid_t,
229    rowversion_t,
230    serial_t,// = serial4
231    serial8_t,// = bigserial
232    bigserial_t,//informix
233    smallfloat_t,//informix
234    /**
235     * MySQL: set
236     */
237    set_t,
238    smalldatetime_t,
239    /**
240     * ansi2003: smallint
241     */
242    smallint_t,
243    smallmoney_t,
244    sql_variant_t,
245    table_t, //bigquery
246    text_t,
247    /**
248     * ansi2003: time
249     */
250    time_t,
251    /**
252     * teradata: time with time zone
253     */
254    time_with_time_zone_t,
255    time_without_time_zone_t,
256    timespan_t, // ansi2003: interval
257    timestamp_t, // ansi2003: timestamp
258    /**
259     * timestamp with local time zone,
260     * Database: Oracle,SQL Server
261     */
262    timestamp_with_local_time_zone_t,
263    /**
264     * timestamp with time zone, timestamptz, ansi2003: timestamp with time zone
265     */
266    timestamp_with_time_zone_t,
267    timestamp_without_time_zone_t,
268    /**
269     * time with time zone,  ansi2003: time with time zone
270     * Databases: teradata
271     */
272    timetz_t,
273    timentz_t,
274    tinyblob_t,
275    tinyint_t,
276    tinytext_t,
277    uniqueidentifier_t,
278    urowid_t,
279    /**
280     *  ansi2003: blob
281     */
282    varbinary_t,
283    /**
284     * netezza, bit varying
285     */
286    varbit_t,
287    /**
288     * teradata: varbyte
289     */
290    varbyte_t,
291    /**
292     * varchar, char varying, character varying, ansi2003:character varying(n)
293     */
294    varchar_t,
295    /**
296     * ansi2003: character varying
297     */
298    varchar2_t,
299    varchar_for_bit_data_t,// ansi2003:    bit varying
300    lvarchar_t, //informix,openedge
301    idssecuritylabel_t,//informix
302    /**
303     *  ansi2003: nchar varying
304     */
305    vargraphic_t,
306    row_data_types_t, //informix
307    collection_data_types_collection_t,
308    collection_data_types_set_t,
309    collection_data_types_multiset_t,
310    collection_data_types_list_t,
311    /**
312     * ansi2003: tinyint
313     */
314    /**
315     * datatypeAttribute in cast function will be treated as a datatype without typename
316     * RW_CAST ( expr AS datatypeAttribute )
317     */
318    no_typename_t,
319    year_t,
320    xml_t, // ansi2003: xml
321    xmltype_t, // ansi2003: xml
322    natural_t, //plsql
323    naturaln_t,//plsql
324    positive_t,
325    positiven_t,
326    signtype_t,
327    simple_integer_t,
328    double_precision_t,
329    boolean_t,
330    string_t,
331    listType_t, //hive array <type>
332    /**
333     * @deprecated As of v2.3.4.6, please use {@link #struct_t} instead
334     */
335    structType_t,//hive,athena
336    mapType_t,
337    unionType_t,
338    refcursor_t,//postgresql
339    json_t, //postgresql
340    jsonb_t,//postgresql
341    self_t,//oracle, constructor function
342    seconddate_t,//hana
343    smalldec_t,//hana
344    array_t,//hana,bigquery,sparksql,presto,vertica
345    varray_t,//teradata
346    alphanum_t,//hana
347    shorttext_t,//hana
348    bintext_t,//hana
349    currency_t,//dax
350    int8_t,
351    lvarbinary_t,//openedge
352    long_byte_t,//mysql
353    object_t,//snowflake
354    variant_t,//snowflake
355    unsigned_int_t,//
356    decfloat_t,//db2
357    struct_t,//bigquery
358    int64_t,//bigquery
359    float64_t,//bigquery
360    anyType_t,//bigquery
361    map_t,//sparksql,presto,snowflake
362    row_t,//presto
363    resultset_t,//snowflake scripting
364    td_anytype_t,//teradata parameter type only
365    char_byte_t, //mysql
366    fixed_t,//mysql, Per the following, 'fixed' is an synonym of 'decimal', https://dev.mysql.com/doc/refman/8.0/en/numeric-types.html
367    st_geometry_t,//teradata
368
369}