Skip to content

Commit fa0875e

Browse files
committed
Add additional test cases to parser tests
1 parent ea6f22b commit fa0875e

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

x-pack/plugin/sql/src/test/java/org/elasticsearch/xpack/sql/parser/SqlParserTests.java

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232

3333
import static java.util.Collections.nCopies;
3434
import static java.util.stream.Collectors.toList;
35+
import static org.hamcrest.Matchers.containsString;
3536
import static org.hamcrest.Matchers.hasEntry;
3637
import static org.hamcrest.Matchers.hasSize;
3738
import static org.hamcrest.Matchers.instanceOf;
@@ -391,6 +392,34 @@ public void testQuotedIndexNameWithQuotedCluster() {
391392
assertEquals("elastic", relation.table().cluster());
392393
}
393394

395+
public void testIndexNameDataSelector() {
396+
Project plan = project(parseStatement("SELECT * FROM foo::data"));
397+
398+
assertThat(plan.child(), instanceOf(UnresolvedRelation.class));
399+
UnresolvedRelation relation = (UnresolvedRelation) plan.child();
400+
assertEquals("foo", relation.table().index());
401+
assertNull(relation.table().cluster());
402+
assertEquals("data", relation.table().selector());
403+
}
404+
405+
public void testIndexNameFailuresSelector() {
406+
Project plan = project(parseStatement("SELECT * FROM foo::failures"));
407+
408+
assertThat(plan.child(), instanceOf(UnresolvedRelation.class));
409+
UnresolvedRelation relation = (UnresolvedRelation) plan.child();
410+
assertEquals("foo", relation.table().index());
411+
assertNull(relation.table().cluster());
412+
assertEquals("failures", relation.table().selector());
413+
}
414+
415+
public void testIndexNameClusterSeletorCombined() {
416+
ParsingException e = expectThrows(ParsingException.class, () -> parseStatement("SELECT * FROM cluster:foo::failures"));
417+
assertThat(
418+
e.getMessage(),
419+
containsString("mismatched input '::' expecting {")
420+
);
421+
}
422+
394423
private LogicalPlan parseStatement(String sql) {
395424
return new SqlParser().createStatement(sql);
396425
}

0 commit comments

Comments
 (0)