[ 
https://issues.apache.org/jira/browse/CALCITE-2107?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16324573#comment-16324573
 ] 

Julian Hyde commented on CALCITE-2107:
--------------------------------------

First of all, can you improve the comments. I don't know what "granularity" 
means and reading the comments contained circular definitions. Next, please 
explain why time zone belongs in the granularity object when it doesn't occur 
in the granularity string.

> 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
>
> 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
(v6.4.14#64029)

Reply via email to