You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Julian Hyde (JIRA)" <ji...@apache.org> on 2018/01/03 02:41:00 UTC

[jira] [Updated] (CALCITE-1658) DateRangeRules issues

     [ https://issues.apache.org/jira/browse/CALCITE-1658?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Julian Hyde updated CALCITE-1658:
---------------------------------
    Component/s: druid

> DateRangeRules issues
> ---------------------
>
>                 Key: CALCITE-1658
>                 URL: https://issues.apache.org/jira/browse/CALCITE-1658
>             Project: Calcite
>          Issue Type: Bug
>          Components: core, druid
>            Reporter: Gian Merlino
>            Assignee: Nishant Bangarwa
>             Fix For: 1.16.0
>
>
> Follow up to CALCITE-1601. In Druid's built in SQL module (not the Druid adapter in Calcite), some unit tests fail when DateRangeRules.FILTER_INSTANCE is enabled. These include the SQLs below. In all cases, the predicate was incorrectly simplified to "false" and no Druid queries were made.
> Removing DateRangeRules from the planner causes the results to be correct.
> {code}
> SELECT COUNT(*) FROM druid.foo
> WHERE
>        (EXTRACT(YEAR FROM __time) = 2000 AND EXTRACT(MONTH FROM __time) IN (2, 3, 5))
>     OR (EXTRACT(YEAR FROM __time) = 2001 AND EXTRACT(MONTH FROM __time) = 1)
> {code}
> {code}
> SELECT COUNT(*) FROM druid.foo
> WHERE
>   EXTRACT(YEAR FROM __time) IN (2000, 2001) AND (       (EXTRACT(YEAR FROM __time) = 2000 AND EXTRACT(MONTH FROM __time) IN (2, 3, 5))
>     OR (EXTRACT(YEAR FROM __time) = 2001 AND EXTRACT(MONTH FROM __time) = 1)
>   )
> {code}
> {code}
> SELECT COUNT(*) FROM druid.foo
> WHERE
>   EXTRACT(YEAR FROM __time) <> 2000 AND (       (EXTRACT(YEAR FROM __time) = 2000 AND EXTRACT(MONTH FROM __time) IN (2, 3, 5))
>     OR (EXTRACT(YEAR FROM __time) = 2001 AND EXTRACT(MONTH FROM __time) = 1)
>   )
> {code}
> {code}
> SELECT COUNT(*) FROM druid.foo
> WHERE
>   EXTRACT(MONTH FROM __time) IN (1, 2, 3, 5) AND (       (EXTRACT(YEAR FROM __time) = 2000 AND EXTRACT(MONTH FROM __time) IN (2, 3, 5))
>     OR (EXTRACT(YEAR FROM __time) = 2001 AND EXTRACT(MONTH FROM __time) = 1)
>   )
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)