Hi All, Trying to figure out what’s amiss in my Calcite based driver and whether there are bugs in this area in Avatica/Calcite or if I’m using something wrong.
I have a table in a database that reports its columns as: JavaType(long) NOT NULL (BIGINT), JavaType(class java.lang.Character) (CHAR) I then build a prepared statement against the same connection: INSERT INTO foo (KEY, \"character\") values (?, ?) The parameter metadata reports the parameter types as: java.lang.Object (BIGINT). java.lang.Object (CHAR) The Enumerable node that is input to my adapters part of the graph reports its row type as: RecordType(JavaType(class java.lang.Long) KEY, JavaType(class java.lang.Character) character) At code generation I’m then presented with a field that claims it’s a java.lang.Character, but at runtime I get a ClassCastException because arbitrary java types (notably Strings) are getting all the way through from the JDBC PreparedStatement unmodified. My understanding of the JDBC spec says that the parameter values should get converted, at but it’s not clear to me who’s responsibility that is. Anyone have any thoughts on where I should look first? Thanks, Chris