@@ -121,6 +121,7 @@ TOKEN: /* SQL Keywords. prefixed with K_ to avoid name clashes */
121121| <K_AND:"AND">
122122| <K_AND_OPERATOR:"&&">
123123| <K_ANY:"ANY">
124+ | <K_APPLY:"APPLY">
124125| <K_AS: "AS">
125126| <K_ASC:"ASC">
126127| <K_BEGIN:"BEGIN">
@@ -1123,7 +1124,7 @@ Not all names should be allowed for aliases.
11231124String RelObjectNameWithoutValue() :
11241125{ Token tk = null; }
11251126{
1126- (tk=<S_IDENTIFIER> | tk=<S_QUOTED_IDENTIFIER> | tk=<K_BYTE> | tk=<K_CHAR> | tk=<K_CHANGE>
1127+ (tk=<S_IDENTIFIER> | tk=<S_QUOTED_IDENTIFIER> | tk=<K_BYTE> | tk=<K_CHAR> | tk=<K_CHANGE> | tk=<K_CHARACTER>
11271128 | tk=<K_CAST> | tk=<K_COMMENT> | tk=<K_DO> | tk=<K_EXTRACT> | tk=<K_FIRST> | tk=<K_FOLLOWING>
11281129 | tk=<K_LAST> | tk=<K_MATERIALIZED> | tk=<K_NULLS> | tk=<K_PARTITION> | tk=<K_RANGE>
11291130 | tk=<K_ROW> | tk=<K_ROWS> | tk=<K_SIBLINGS> | tk=<K_XML>
@@ -1792,15 +1793,15 @@ FromItem ValuesList():
17921793
17931794LateralSubSelect LateralSubSelect():
17941795{
1795- LateralSubSelect lateralSubSelect = new LateralSubSelect() ;
1796+ LateralSubSelect specialSubSelect ;
17961797 SubSelect subSelect = null;
17971798}
17981799{
1799- <K_LATERAL>
1800+ <K_LATERAL> { specialSubSelect = new LateralSubSelect(); }
18001801 "(" subSelect=SubSelect() ")"
18011802 {
1802- lateralSubSelect .setSubSelect(subSelect);
1803- return lateralSubSelect ;
1803+ specialSubSelect .setSubSelect(subSelect);
1804+ return specialSubSelect ;
18041805 }
18051806}
18061807
@@ -1851,8 +1852,11 @@ Join JoinerExpression() #JoinerExpression:
18511852 Column tableColumn;
18521853 List<Column> columns = null;
18531854 KSQLJoinWindow joinWindow = null;
1855+
18541856}
18551857{
1858+
1859+
18561860 [
18571861 <K_LEFT> { join.setLeft(true); } [ <K_SEMI> { join.setSemi(true); } | <K_OUTER> { join.setOuter(true); } ]
18581862 | ( <K_RIGHT> { join.setRight(true); }
@@ -1864,7 +1868,7 @@ Join JoinerExpression() #JoinerExpression:
18641868 ]
18651869
18661870 ( <K_JOIN> | "," { join.setSimple(true); } (<K_OUTER> { join.setOuter(true); } )?
1867- | <K_STRAIGHT> { join.setStraight(true); } )
1871+ | <K_STRAIGHT> { join.setStraight(true); } | <K_APPLY> {join.setApply(true); } )
18681872
18691873 right=FromItem()
18701874
@@ -3855,7 +3859,7 @@ ColDataType ColDataType():
38553859 [LOOKAHEAD(2) "(" {tk2 =null;} ( (tk=<S_LONG> [ tk2=<K_BYTE> | tk2=<K_CHAR> ] | tk=<S_CHAR_LITERAL> | tk=<S_IDENTIFIER> )
38563860 { argumentsStringList.add(tk.image + (tk2!=null?" " + tk2.image:"")); } ["," {/*argumentsStringList.add(",");*/}] )* ")"]
38573861 [( "[" {tk=null;} [ tk=<S_LONG> ] { array.add(tk!=null?Integer.valueOf(tk.image):null); } "]" )+ { colDataType.setArrayData(array); } ]
3858- [<K_CHARACTER> <K_SET> tk=<S_IDENTIFIER> { colDataType.setCharacterSet(tk.image); } ]
3862+ [LOOKAHEAD(2) <K_CHARACTER> <K_SET> tk=<S_IDENTIFIER> { colDataType.setCharacterSet(tk.image); } ]
38593863
38603864 {
38613865 if (argumentsStringList.size() > 0)
0 commit comments