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.