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

Gangadhar Kairi commented on CALCITE-1673:
------------------------------------------

Thanks for the quick reply Julian. Yes, your insight is correct these are all 
related and the root cause with timestamp conversion to long. Do you have any 
insight on where this conversion is going wrong. I can spend sometime to fixing 
it because we are getting bunch of issues with this timestamp column.
-Gangadhar

> Query with ORDER BY or GROUP BY on TIMESTAMP column throws CompileException
> ---------------------------------------------------------------------------
>
>                 Key: CALCITE-1673
>                 URL: https://issues.apache.org/jira/browse/CALCITE-1673
>             Project: Calcite
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 1.11.0
>            Reporter: Gangadhar Kairi
>            Assignee: Julian Hyde
>   Original Estimate: 2h
>  Remaining Estimate: 2h
>
> Getting below error while executing the 'order by' or 'group by' queries with 
> timestamp data type column.
> {noformat}
> Caused by: org.codehaus.commons.compiler.CompileException: Line 11, Column 
> 76: No applicable constructor/method found for actual parameters 
> "java.lang.Object"; candidates are: "public static java.sql.Timestamp 
> org.apache.calcite.runtime.SqlFunctions.internalToTimestamp(java.lang.Long)", 
> "public static java.sql.Timestamp 
> org.apache.calcite.runtime.SqlFunctions.internalToTimestamp(long)"
> {noformat}
> I could able to reproduce this problem in CsvTests. 
> Fire a test with query "select * from \"DATE\" order by \"JOINTIMES\"" you 
> will see test failing with exception.
> Root cause and fix:
> The fix for this to overload the {{SqlFunctions.internalToTimestamp()}} to 
> accept the timestamp or object and return timestamp value. I tested and it's 
> working
> {noformat}
> Stack trace
> at org.apache.calcite.avatica.Helper.wrap(Helper.java:37)
>       at 
> org.apache.calcite.adapter.enumerable.EnumerableInterpretable.toBindable(EnumerableInterpretable.java:108)
>       at 
> org.apache.calcite.prepare.CalcitePrepareImpl$CalcitePreparingStmt.implement(CalcitePrepareImpl.java:1233)
>       at org.apache.calcite.prepare.Prepare.prepareSql(Prepare.java:303)
>       at org.apache.calcite.prepare.Prepare.prepareSql(Prepare.java:200)
>       at 
> org.apache.calcite.prepare.CalcitePrepareImpl.prepare2_(CalcitePrepareImpl.java:761)
>       at 
> org.apache.calcite.prepare.CalcitePrepareImpl.prepare_(CalcitePrepareImpl.java:617)
>       at 
> org.apache.calcite.prepare.CalcitePrepareImpl.prepareSql(CalcitePrepareImpl.java:587)
>       at 
> org.apache.calcite.jdbc.CalciteConnectionImpl.parseQuery(CalciteConnectionImpl.java:214)
>       at 
> org.apache.calcite.jdbc.CalciteMetaImpl.prepareAndExecute(CalciteMetaImpl.java:595)
>       at 
> org.apache.calcite.avatica.AvaticaConnection.prepareAndExecuteInternal(AvaticaConnection.java:615)
>       at 
> org.apache.calcite.avatica.AvaticaStatement.executeInternal(AvaticaStatement.java:148)
>       ... 29 more
> Caused by: org.codehaus.commons.compiler.CompileException: Line 11, Column 
> 76: No applicable constructor/method found for actual parameters 
> "java.lang.Object"; candidates are: "public static java.sql.Timestamp 
> org.apache.calcite.runtime.SqlFunctions.internalToTimestamp(java.lang.Long)", 
> "public static java.sql.Timestamp 
> org.apache.calcite.runtime.SqlFunctions.internalToTimestamp(long)"
>       at 
> org.codehaus.janino.UnitCompiler.compileError(UnitCompiler.java:10092)
>       at 
> org.codehaus.janino.UnitCompiler.findMostSpecificIInvocable(UnitCompiler.java:7506)
>       at org.codehaus.janino.UnitCompiler.findIMethod(UnitCompiler.java:7376)
>       at org.codehaus.janino.UnitCompiler.findIMethod(UnitCompiler.java:7280)
>       at org.codehaus.janino.UnitCompiler.compileGet2(UnitCompiler.java:3850)
>       at org.codehaus.janino.UnitCompiler.access$6900(UnitCompiler.java:183)
>       at 
> org.codehaus.janino.UnitCompiler$10.visitMethodInvocation(UnitCompiler.java:3251)
>       at org.codehaus.janino.Java$MethodInvocation.accept(Java.java:3974)
>       at org.codehaus.janino.UnitCompiler.compileGet(UnitCompiler.java:3278)
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to