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] [Resolved] (CALCITE-1658) DateRangeRules issues
[ https://issues.apache.org/jira/browse/CALCITE-1658?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Julian Hyde resolved CALCITE-1658.
----------------------------------
Resolution: Fixed
Fix Version/s: 1.16.0
Fixed in [1e9fd38b|http://git-wip-us.apache.org/repos/asf/calcite/commit/1e9fd38b]; thanks for the PR, [~nishantbangarwa]!
> 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)