|
10 | 10 | import static org.opensearch.sql.ast.tree.Sort.NullOrder.NULL_LAST; |
11 | 11 | import static org.opensearch.sql.ast.tree.Sort.SortOrder.ASC; |
12 | 12 | import static org.opensearch.sql.ast.tree.Sort.SortOrder.DESC; |
| 13 | +import static org.opensearch.sql.common.setting.Settings.Key.CALCITE_ENGINE_ENABLED; |
13 | 14 | import static org.opensearch.sql.data.type.ExprCoreType.DATE; |
14 | 15 | import static org.opensearch.sql.data.type.ExprCoreType.STRUCT; |
15 | 16 | import static org.opensearch.sql.data.type.ExprCoreType.TIME; |
|
53 | 54 | import org.opensearch.sql.ast.tree.FillNull; |
54 | 55 | import org.opensearch.sql.ast.tree.Filter; |
55 | 56 | import org.opensearch.sql.ast.tree.Head; |
| 57 | +import org.opensearch.sql.ast.tree.Join; |
56 | 58 | import org.opensearch.sql.ast.tree.Kmeans; |
57 | 59 | import org.opensearch.sql.ast.tree.Limit; |
| 60 | +import org.opensearch.sql.ast.tree.Lookup; |
58 | 61 | import org.opensearch.sql.ast.tree.ML; |
59 | 62 | import org.opensearch.sql.ast.tree.Paginate; |
60 | 63 | import org.opensearch.sql.ast.tree.Parse; |
| 64 | +import org.opensearch.sql.ast.tree.Patterns; |
61 | 65 | import org.opensearch.sql.ast.tree.Project; |
62 | 66 | import org.opensearch.sql.ast.tree.RareTopN; |
63 | 67 | import org.opensearch.sql.ast.tree.Relation; |
|
70 | 74 | import org.opensearch.sql.ast.tree.Trendline; |
71 | 75 | import org.opensearch.sql.ast.tree.UnresolvedPlan; |
72 | 76 | import org.opensearch.sql.ast.tree.Values; |
73 | | -import org.opensearch.sql.ast.tree.Window; |
74 | 77 | import org.opensearch.sql.common.antlr.SyntaxCheckException; |
75 | 78 | import org.opensearch.sql.data.model.ExprMissingValue; |
76 | 79 | import org.opensearch.sql.data.type.ExprCoreType; |
@@ -162,8 +165,8 @@ public LogicalPlan visitSubqueryAlias(SubqueryAlias node, AnalysisContext contex |
162 | 165 | STRUCT); |
163 | 166 | return child; |
164 | 167 | } else { |
165 | | - // TODO |
166 | | - throw new UnsupportedOperationException("SubqueryAlias is only supported in table alias"); |
| 168 | + throw new UnsupportedOperationException( |
| 169 | + "Subsearch is supported only when " + CALCITE_ENGINE_ENABLED.getKeyValue() + "=true"); |
167 | 170 | } |
168 | 171 | } |
169 | 172 |
|
@@ -490,7 +493,7 @@ public LogicalPlan visitParse(Parse node, AnalysisContext context) { |
490 | 493 | } |
491 | 494 |
|
492 | 495 | @Override |
493 | | - public LogicalPlan visitWindow(Window node, AnalysisContext context) { |
| 496 | + public LogicalPlan visitPatterns(Patterns node, AnalysisContext context) { |
494 | 497 | LogicalPlan child = node.getChild().get(0).accept(this, context); |
495 | 498 | WindowExpressionAnalyzer windowAnalyzer = |
496 | 499 | new WindowExpressionAnalyzer(expressionAnalyzer, child); |
@@ -685,6 +688,18 @@ public LogicalPlan visitCloseCursor(CloseCursor closeCursor, AnalysisContext con |
685 | 688 | return new LogicalCloseCursor(closeCursor.getChild().get(0).accept(this, context)); |
686 | 689 | } |
687 | 690 |
|
| 691 | + @Override |
| 692 | + public LogicalPlan visitJoin(Join node, AnalysisContext context) { |
| 693 | + throw new UnsupportedOperationException( |
| 694 | + "Join is supported only when " + CALCITE_ENGINE_ENABLED.getKeyValue() + "=true"); |
| 695 | + } |
| 696 | + |
| 697 | + @Override |
| 698 | + public LogicalPlan visitLookup(Lookup node, AnalysisContext context) { |
| 699 | + throw new UnsupportedOperationException( |
| 700 | + "Lookup is supported only when " + CALCITE_ENGINE_ENABLED.getKeyValue() + "=true"); |
| 701 | + } |
| 702 | + |
688 | 703 | private LogicalSort buildSort( |
689 | 704 | LogicalPlan child, AnalysisContext context, List<Field> sortFields) { |
690 | 705 | ExpressionReferenceOptimizer optimizer = |
|
0 commit comments