[ 
https://issues.apache.org/jira/browse/KYLIN-2824?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Billy Liu resolved KYLIN-2824.
------------------------------
       Resolution: Fixed
    Fix Version/s: v2.2.0

Thanks Tianhao Zhao. 
The patch merged. 
https://git1-us-west.apache.org/repos/asf?p=kylin.git;a=commit;h=7a47e947

> Parse Boolean type in JDBC driver
> ---------------------------------
>
>                 Key: KYLIN-2824
>                 URL: https://issues.apache.org/jira/browse/KYLIN-2824
>             Project: Kylin
>          Issue Type: Bug
>          Components: Driver - JDBC
>            Reporter: Tianhao Zhao
>            Priority: Minor
>             Fix For: v2.2.0
>
>         Attachments: KYLIN-2824.patch
>
>
> Exception below is thrown when querying kylin with Saiku as front end, or 
> when retrieving value from getBoolean method in jdbc driver.
> That's because KylinClient in jdbc module dose not parse value properly when 
> dimension is boolean type.
> Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to 
> java.lang.Boolean
>         at 
> org.apache.kylin.jdbc.shaded.org.apache.calcite.avatica.util.AbstractCursor$BooleanAccessor.getBoolean(AbstractCursor.java:463)
>         at 
> org.apache.kylin.jdbc.shaded.org.apache.calcite.avatica.util.AbstractCursor$BooleanAccessor.getLong(AbstractCursor.java:468)
>         at 
> org.apache.kylin.jdbc.shaded.org.apache.calcite.avatica.util.AbstractCursor$AccessorImpl.getInt(AbstractCursor.java:304)
>         at 
> org.apache.kylin.jdbc.shaded.org.apache.calcite.avatica.AvaticaResultSet.getInt(AvaticaResultSet.java:252)
>         at 
> org.apache.commons.dbcp.DelegatingResultSet.getInt(DelegatingResultSet.java:225)
>         at 
> org.apache.commons.dbcp.DelegatingResultSet.getInt(DelegatingResultSet.java:225)
>         at mondrian.rolap.SqlStatement$4.get(SqlStatement.java:418)
>         at mondrian.rolap.SqlStatement$1.get(SqlStatement.java:394)
>         at 
> mondrian.rolap.SqlTupleReader$Target.internalAddRow(SqlTupleReader.java:260)
>         at 
> mondrian.rolap.SqlTupleReader$Target.addRow(SqlTupleReader.java:172)
>         at 
> mondrian.rolap.SqlTupleReader.prepareTuples(SqlTupleReader.java:545)
>         at mondrian.rolap.SqlTupleReader.readTuples(SqlTupleReader.java:690)
>         at 
> mondrian.rolap.RolapNativeSet$SetEvaluator.executeList(RolapNativeSet.java:260)
>         at 
> mondrian.rolap.RolapNativeSet$SetEvaluator.execute(RolapNativeSet.java:200)
>         at 
> mondrian.olap.fun.NonEmptyCrossJoinFunDef$1.evaluateList(NonEmptyCrossJoinFunDef.java:80)
>         at 
> mondrian.calc.impl.AbstractListCalc.evaluateIterable(AbstractListCalc.java:71)
>         at 
> mondrian.olap.fun.CrossJoinFunDef$CrossJoinIterCalc.evaluateIterable(CrossJoinFunDef.java:184)
>         at mondrian.rolap.RolapResult.executeAxis(RolapResult.java:857)
>         at mondrian.rolap.RolapResult.evalLoad(RolapResult.java:693)
>         at mondrian.rolap.RolapResult.loadMembers(RolapResult.java:649)
>         at mondrian.rolap.RolapResult.<init>(RolapResult.java:279)
>         at 
> mondrian.rolap.RolapConnection.executeInternal(RolapConnection.java:500)
>         ... 7 more



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to