[ https://issues.apache.org/jira/browse/CALCITE-2107?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16328867#comment-16328867 ]
Nishant Bangarwa commented on CALCITE-2107: ------------------------------------------- [~julianhyde] Update the PR based on review comments. Please check. For the forbidden api, It seems the forbidden rules does not contain Locale.getDefault(). will submit a separate patch in https://issues.apache.org/jira/browse/CALCITE-2138 > Timezone not passed as part of granularity when passing > TimeExtractionFunction to Druid > --------------------------------------------------------------------------------------- > > Key: CALCITE-2107 > URL: https://issues.apache.org/jira/browse/CALCITE-2107 > Project: Calcite > Issue Type: Bug > Components: druid > Reporter: Nishant Bangarwa > Assignee: Nishant Bangarwa > Priority: Major > > When sending granularity to TimeFormatExtractionFunction we need to add > timezone to the granularity to align it with the timezone specified in > calcite connection. If no timezone is specified in granularity, It is > considered as UTC timezone by druid. > Note the return value in is as per granularity UTC and not IST as expected - > {code} > @Test > public void testTmeWithFilterOnFloorOnTimeWithTimezoneConversion() { > final String sql = "Select cast(floor(\"timestamp\" to MONTH) as > timestamp) as t from " > + "\"foodmart\" where floor(\"timestamp\" to MONTH) >= '1997-04-30 > 18:30:00 UTC' order by t" > + " limit 1"; > final String druidQueryPart1 = > "filter\":{\"type\":\"bound\",\"dimension\":\"__time\"," > + "\"lower\":\"1997-05-01T00:00:00.000Z\",\"lowerStrict\":false," > + > "\"ordering\":\"lexicographic\",\"extractionFn\":{\"type\":\"timeFormat\"," > + "\"format\":\"yyyy-MM-dd"; > final String druidQueryPart2 = > "\"granularity\":\"month\",\"timeZone\":\"IST\"," > + > "\"locale\":\"en-US\"}},\"dimensions\":[],\"metrics\":[],\"granularity\":\"all\""; > CalciteAssert.that() > .enable(enabled()) > .with(ImmutableMap.of("model", FOODMART.getPath())) > .with(CalciteConnectionProperty.TIME_ZONE.camelName(), "IST") > .query(sql) > .runs() > .queryContains(druidChecker(druidQueryPart1, druidQueryPart2)) > .returnsOrdered("T=1997-05-01 05:30:00"); > } > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)