[jira] [Updated] (CALCITE-4181) Avatica throw exception when select field is a List

Thu, 10 Dec 2020 21:48:12 -0800


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

Kent Nguyen updated CALCITE-4181:
---------------------------------
    Summary: Avatica throw exception when select field is a List<Object>  (was: 
Avatica throw exception when select field is a List<?>)

> Avatica throw exception when select field is a List<Object>
> -----------------------------------------------------------
>
>                 Key: CALCITE-4181
>                 URL: https://issues.apache.org/jira/browse/CALCITE-4181
>             Project: Calcite
>          Issue Type: Bug
>          Components: avatica
>    Affects Versions: avatica-1.17.0
>            Reporter: Kent Nguyen
>            Assignee: Kent Nguyen
>            Priority: Major
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> Currently Calcite supports array columns from both ArrayImpl or List input.
> It also supports both struct and plain java object data format.
> The issue is that an exception is thrown when data is a list of plain java 
> objects, while it works fine when data is a list of struct or an array of 
> plain java objects.
> I have created unit tests to demonstrate the bug.
> Currently these unit tests pass: arraysOfStructs(), listOfStructs(), 
> arrayOfJavaObjects() but listOfJavaObject() is failed.
> Method 
> org.apache.calcite.avatica.util.AbstractCursor.ArrayAccessor.convertValue() 
> misses a case for Types.OTHER, which is for general java objects, hence the 
> exception is thrown.
> The pull request adds that missing type and makes all four unit tests pass.
> Reference link: 
> https://github.com/apache/calcite-avatica/blob/master/core/src/main/java/org/apache/calcite/avatica/util/AbstractCursor.java#L1346



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to