[ 
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)

Reply via email to