Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
avatica-1.17.0
-
None
Description
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
Attachments
Issue Links
- blocks
-
NIFI-7601 QueryRecord failing to handle arrays
- Resolved
- relates to
-
CALCITE-2795 New Avatica version doesn't support "list" type in query
- Closed
- links to