diff --git a/x-pack/plugin/esql/src/internalClusterTest/java/org/elasticsearch/xpack/esql/plugin/CanMatchIT.java b/x-pack/plugin/esql/src/internalClusterTest/java/org/elasticsearch/xpack/esql/plugin/CanMatchIT.java index 44c4599f910a0..6d8757c7b080e 100644 --- a/x-pack/plugin/esql/src/internalClusterTest/java/org/elasticsearch/xpack/esql/plugin/CanMatchIT.java +++ b/x-pack/plugin/esql/src/internalClusterTest/java/org/elasticsearch/xpack/esql/plugin/CanMatchIT.java @@ -87,12 +87,22 @@ public void testCanMatch() { assertThat(queriedIndices, equalTo(Set.of("events_2023"))); queriedIndices.clear(); } + try (EsqlQueryResponse resp = run("from events_* | WHERE @timestamp >= date_parse(\"yyyy-MM-dd\", \"2023-01-01\")")) { + assertThat(getValuesList(resp), hasSize(4)); + assertThat(queriedIndices, equalTo(Set.of("events_2023"))); + queriedIndices.clear(); + } try (EsqlQueryResponse resp = run("from events_*", randomPragmas(), new RangeQueryBuilder("@timestamp").lt("2023-01-01"))) { assertThat(getValuesList(resp), hasSize(3)); assertThat(queriedIndices, equalTo(Set.of("events_2022"))); queriedIndices.clear(); } + try (EsqlQueryResponse resp = run("from events_* | WHERE @timestamp < date_parse(\"yyyy-MM-dd\", \"2023-01-01\")")) { + assertThat(getValuesList(resp), hasSize(3)); + assertThat(queriedIndices, equalTo(Set.of("events_2022"))); + queriedIndices.clear(); + } try ( EsqlQueryResponse resp = run( @@ -105,6 +115,17 @@ public void testCanMatch() { assertThat(queriedIndices, equalTo(Set.of("events_2022", "events_2023"))); queriedIndices.clear(); } + try ( + EsqlQueryResponse resp = run( + "from events_* " + + "| WHERE @timestamp > date_parse(\"yyyy-MM-dd\", \"2022-01-01\") " + + "AND @timestamp < date_parse(\"yyyy-MM-dd\", \"2023-12-31\")" + ) + ) { + assertThat(getValuesList(resp), hasSize(7)); + assertThat(queriedIndices, equalTo(Set.of("events_2022", "events_2023"))); + queriedIndices.clear(); + } try ( EsqlQueryResponse resp = run( @@ -117,6 +138,17 @@ public void testCanMatch() { assertThat(queriedIndices, empty()); queriedIndices.clear(); } + try ( + EsqlQueryResponse resp = run( + "from events_* " + + "| WHERE @timestamp > date_parse(\"yyyy-MM-dd\", \"2023-01-01\") " + + "AND @timestamp < date_parse(\"yyyy-MM-dd\", \"2023-01-01\")" + ) + ) { + assertThat(getValuesList(resp), hasSize(0)); + assertThat(queriedIndices, empty()); + queriedIndices.clear(); + } } finally { for (TransportService transportService : internalCluster().getInstances(TransportService.class)) { as(transportService, MockTransportService.class).clearAllRules();