@@ -146,6 +146,7 @@ TOKEN: /* SQL Keywords. prefixed with K_ to avoid name clashes */
146146| <K_SOME:"SOME">
147147| <K_FULL:"FULL">
148148| <K_WITH:"WITH">
149+ | <K_WITHOUT:"WITHOUT">
149150| <K_TABLE:"TABLE">
150151| <K_VIEW:"VIEW">
151152| <K_WHERE:"WHERE">
@@ -195,6 +196,7 @@ TOKEN: /* SQL Keywords. prefixed with K_ to avoid name clashes */
195196| <K_REFERENCES:"REFERENCES">
196197| <K_CHECK:"CHECK">
197198| <K_CHARACTER:"CHARACTER">
199+ | <K_BIT:"BIT">
198200| <K_VARYING:"VARYING">
199201| <K_START:"START">
200202| <K_CONNECT:"CONNECT">
@@ -246,6 +248,7 @@ TOKEN: /* SQL Keywords. prefixed with K_ to avoid name clashes */
246248| <K_IGNORE : "IGNORE">
247249| <K_SEMI : "SEMI">
248250| <K_DATETIMELITERAL : ("DATE" | "TIME" | "TIMESTAMP") >
251+ | <K_ZONE:"ZONE">
249252| <K_TIME_KEY_EXPR : ( "CURRENT_TIMESTAMP" | "CURRENT_TIME" | "CURRENT_DATE" ) ( "()" )?>
250253| <K_DOUBLE : "DOUBLE">
251254| <K_PRECISION : "PRECISION">
@@ -265,6 +268,11 @@ TOKEN : /* Operators */
265268| <OP_NOTEQUALSBANG: "!=">
266269}
267270
271+ TOKEN : /* Date/Time with time zones */
272+ {
273+ <DT_ZONE: <K_DATETIMELITERAL> <WHITESPACE> (<K_WITH> | <K_WITHOUT>) <WHITESPACE> "TIME" <WHITESPACE> <K_ZONE>>
274+ }
275+
268276TOKEN : /* Numeric Constants */
269277{
270278 < S_DOUBLE: ((<S_LONG>)? "." <S_LONG> ( ["e","E"] (["+", "-"])? <S_LONG>)?
@@ -2818,9 +2826,9 @@ ColDataType ColDataType():
28182826 List<Integer> array = new ArrayList<Integer>();
28192827}
28202828{
2821- ( tk=<K_CHARACTER> [tk2=<K_VARYING>] { colDataType.setDataType(tk.image + (tk2!=null?" " + tk2.image:"")); }
2829+ ( ( tk=<K_CHARACTER> | tk=<K_BIT>) [tk2=<K_VARYING>] { colDataType.setDataType(tk.image + (tk2!=null?" " + tk2.image:"")); }
28222830 | tk=<K_DOUBLE> [tk2=<K_PRECISION>] { colDataType.setDataType(tk.image + (tk2!=null?" " + tk2.image:"")); }
2823- | ( tk=<S_IDENTIFIER> | tk=<K_DATETIMELITERAL> | tk=<K_INTERVAL> ) { colDataType.setDataType(tk.image); } )
2831+ | ( tk=<S_IDENTIFIER> | tk=<K_DATETIMELITERAL> | tk=<K_XML> | tk=< K_INTERVAL> | tk=<DT_ZONE> ) { colDataType.setDataType(tk.image); })
28242832
28252833 [LOOKAHEAD(2) "(" ( (tk=<S_LONG> | tk=<S_CHAR_LITERAL> | tk=<S_IDENTIFIER> ) { argumentsStringList.add(tk.image); } ["," {/*argumentsStringList.add(",");*/}] )* ")"]
28262834 [( "[" {tk=null;} [ tk=<S_LONG> ] { array.add(tk!=null?Integer.valueOf(tk.image):null); } "]" )+ { colDataType.setArrayData(array); } ]
0 commit comments