sschulzdialpad opened a new issue, #12187:
URL: https://github.com/apache/pinot/issues/12187

   Hi folks,
   
   it appears like the Multi-Stage Engine on Apache Pinot 1.0.0 is enforcing a 
different ruleset for valid patterns for the FROMDATETIME function when applied 
as a filter.
   ```
   WHERE 
      BETWEEN(date_created,
                        FROMDATETIME('2022-11-20T00:00:00 
UTC','YYYY-MM-dd''''T''''HH:mm:ss ZZZ'),
                        FROMDATETIME('2022-11-30T00:00:00 
UTC','YYYY-MM-dd''''T''''HH:mm:ss ZZZ'))
   ```
   
   Results in:
   ```
   Caused by: org.apache.pinot.sql.parsers.SqlCompilationException: Caught 
exception while invoking method: public static long 
org.apache.pinot.common.function.scalar.DateTimeFunctions.fromDateTime(java.lang.String,java.lang.String)
 with arguments: [2022-11-20T00:00:00 UTC, YYYY-MM-dd''T''HH:mm:ss ZZZ]
        at 
org.apache.calcite.rel.rules.PinotEvaluateLiteralRule.evaluateLiteralOnlyFunction(PinotEvaluateLiteralRule.java:164)
        at 
org.apache.calcite.rel.rules.PinotEvaluateLiteralRule$EvaluateLiteralShuttle.visitCall(PinotEvaluateLiteralRule.java:131)
        at 
org.apache.calcite.rel.rules.PinotEvaluateLiteralRule$EvaluateLiteralShuttle.visitCall(PinotEvaluateLiteralRule.java:119)
        at org.apache.calcite.rex.RexCall.accept(RexCall.java:189)
   ...
   Caused by: java.lang.IllegalStateException: Caught exception while invoking 
method: public static long 
org.apache.pinot.common.function.scalar.DateTimeFunctions.fromDateTime(java.lang.String,java.lang.String)
 with arguments: [2022-11-20T00:00:00 UTC, YYYY-MM-dd''T''HH:mm:ss ZZZ]
        at 
org.apache.pinot.common.function.FunctionInvoker.invoke(FunctionInvoker.java:142)
        at 
org.apache.calcite.rel.rules.PinotEvaluateLiteralRule.evaluateLiteralOnlyFunction(PinotEvaluateLiteralRule.java:161)
        ... 63 more
   Caused by: java.lang.reflect.InvocationTargetException
        at jdk.internal.reflect.GeneratedMethodAccessor177.invoke(Unknown 
Source)
        at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:566)
        at 
org.apache.pinot.common.function.FunctionInvoker.invoke(FunctionInvoker.java:139)
   ...
   Caused by: java.lang.IllegalArgumentException: Illegal pattern component: T
        at 
org.joda.time.format.DateTimeFormat.parsePatternTo(DateTimeFormat.java:566)
        at 
org.joda.time.format.DateTimeFormat.createFormatterForPattern(DateTimeFormat.java:687)
        at 
org.joda.time.format.DateTimeFormat.forPattern(DateTimeFormat.java:177)
        at 
org.apache.pinot.common.function.DateTimePatternHandler.getDateTimeFormatter(DateTimePatternHandler.java:68))
   ```
   whereas the same query works when using the non Multi-Stage query engine.
   
   Background on the date_created column:
   ```
       {
         "name": "date_created",
         "dataType": "LONG",
         "format": "1:MILLISECONDS:EPOCH",
         "granularity": "1:HOURS"
       }
   ``` 
   and it is also used as a timeColumnName on segmentsConfig.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org
For additional commands, e-mail: commits-h...@pinot.apache.org

Reply via email to