Skip to content

Commit 8fe66a0

Browse files
committed
Address comment
Signed-off-by: Lantao Jin <ltjin@amazon.com>
1 parent 2b8d0bd commit 8fe66a0

4 files changed

Lines changed: 12 additions & 38 deletions

File tree

ppl/src/main/antlr/OpenSearchPPLParser.g4

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,6 @@ root
1414

1515
// statement
1616
pplStatement
17-
: dmlStatement
18-
;
19-
20-
dmlStatement
2117
: explainStatement
2218
| queryStatement
2319
;
@@ -106,9 +102,7 @@ commandName
106102
;
107103

108104
searchCommand
109-
: (SEARCH)? fromClause # searchFrom
110-
| (SEARCH)? fromClause logicalExpression (logicalExpression)* # searchFromFilter
111-
| SEARCH logicalExpression fromClause # searchFilterFrom
105+
: (SEARCH)? (logicalExpression)* fromClause (logicalExpression)* # searchFrom
112106
;
113107

114108
describeCommand

ppl/src/main/java/org/opensearch/sql/ppl/parser/AstBuilder.java

Lines changed: 10 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,7 @@
1515
import static org.opensearch.sql.ppl.antlr.parser.OpenSearchPPLParser.FieldsCommandContext;
1616
import static org.opensearch.sql.ppl.antlr.parser.OpenSearchPPLParser.HeadCommandContext;
1717
import static org.opensearch.sql.ppl.antlr.parser.OpenSearchPPLParser.RenameCommandContext;
18-
import static org.opensearch.sql.ppl.antlr.parser.OpenSearchPPLParser.SearchFilterFromContext;
1918
import static org.opensearch.sql.ppl.antlr.parser.OpenSearchPPLParser.SearchFromContext;
20-
import static org.opensearch.sql.ppl.antlr.parser.OpenSearchPPLParser.SearchFromFilterContext;
2119
import static org.opensearch.sql.ppl.antlr.parser.OpenSearchPPLParser.SortCommandContext;
2220
import static org.opensearch.sql.ppl.antlr.parser.OpenSearchPPLParser.StatsCommandContext;
2321
import static org.opensearch.sql.ppl.antlr.parser.OpenSearchPPLParser.TableFunctionContext;
@@ -140,23 +138,16 @@ public UnresolvedPlan visitSubSearch(OpenSearchPPLParser.SubSearchContext ctx) {
140138
/** Search command. */
141139
@Override
142140
public UnresolvedPlan visitSearchFrom(SearchFromContext ctx) {
143-
return visitFromClause(ctx.fromClause());
144-
}
145-
146-
@Override
147-
public UnresolvedPlan visitSearchFromFilter(SearchFromFilterContext ctx) {
148-
return new Filter(
149-
ctx.logicalExpression().stream()
150-
.map(this::internalVisitExpression)
151-
.reduce(And::new)
152-
.get())
153-
.attach(visit(ctx.fromClause()));
154-
}
155-
156-
@Override
157-
public UnresolvedPlan visitSearchFilterFrom(SearchFilterFromContext ctx) {
158-
return new Filter(internalVisitExpression(ctx.logicalExpression()))
159-
.attach(visit(ctx.fromClause()));
141+
if (ctx.logicalExpression().isEmpty()) {
142+
return visitFromClause(ctx.fromClause());
143+
} else {
144+
return new Filter(
145+
ctx.logicalExpression().stream()
146+
.map(this::internalVisitExpression)
147+
.reduce(And::new)
148+
.get())
149+
.attach(visit(ctx.fromClause()));
150+
}
160151
}
161152

162153
/**

ppl/src/main/java/org/opensearch/sql/ppl/parser/AstStatementBuilder.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ public class AstStatementBuilder extends OpenSearchPPLParserBaseVisitor<Statemen
3232
private final StatementBuilderContext context;
3333

3434
@Override
35-
public Statement visitDmlStatement(OpenSearchPPLParser.DmlStatementContext ctx) {
35+
public Statement visitPplStatement(OpenSearchPPLParser.PplStatementContext ctx) {
3636
Query query = new Query(addSelectAll(astBuilder.visit(ctx)), context.getFetchSize(), PPL);
3737
if (ctx.explainStatement() != null) {
3838
if (ctx.explainStatement().explainMode() == null) {

ppl/src/test/java/org/opensearch/sql/ppl/antlr/PPLSyntaxParserTest.java

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -335,17 +335,6 @@ public void testDescribeFieldsCommandShouldPass() {
335335
assertNotEquals(null, tree);
336336
}
337337

338-
@Test
339-
public void testDescribeCommandWithSourceShouldFail() {
340-
exceptionRule.expect(RuntimeException.class);
341-
exceptionRule.expectMessage(
342-
StringContainsInOrder.stringContainsInOrder(
343-
"[=] is not a valid term at this part of the query: 'describe source=' <-- HERE.",
344-
"Expecting tokens:"));
345-
346-
new PPLSyntaxParser().parse("describe source=t");
347-
}
348-
349338
@Test
350339
public void testInvalidOperatorCombinationShouldFail() {
351340
exceptionRule.expect(RuntimeException.class);

0 commit comments

Comments
 (0)