Nishant Bangarwa created CALCITE-2091: -----------------------------------------
Summary: DruidAdapterIT testFilterTimestamp does not test translating of extract fn to interval Key: CALCITE-2091 URL: https://issues.apache.org/jira/browse/CALCITE-2091 Project: Calcite Issue Type: Improvement Reporter: Nishant Bangarwa Assignee: Julian Hyde this test was added to verify that the extract function is transformed to a date range on timestamp column. But in this it does not seem to be pushing extract to interval. This task is to check the root cause and fix this. I guess this is possibly an issue with cost computation not accounting for interval being queried. {code} /** Tests that conditions applied to time units extracted via the EXTRACT * function become ranges on the timestamp column * * <p>Test case for * <a href="https://issues.apache.org/jira/browse/CALCITE-1334">[CALCITE-1334] * Convert predicates on EXTRACT function calls into date ranges</a>. */ @Test public void testFilterTimestamp() { String sql = "select count(*) as c\n" + "from \"foodmart\"\n" + "where extract(year from \"timestamp\") = 1997\n" + "and extract(month from \"timestamp\") in (4, 6)\n"; final String explain = "DruidQuery(table=[[foodmart, foodmart]], " + "intervals=[[1900-01-09T00:00:00.000Z/2992-01-10T00:00:00.000Z]], " + "filter=[AND(=(EXTRACT(FLAG(YEAR), $0), 1997), OR(=(EXTRACT(FLAG(MONTH), $0), 4), " + "=(EXTRACT(FLAG(MONTH), $0), 6)))], groups=[{}], aggs=[[COUNT()]])"; sql(sql) .explainContains(explain) .returnsUnordered("C=13500"); } {code} -- This message was sent by Atlassian JIRA (v6.4.14#64029)