I'm looking to use the Java JDBC adapter for loading tables from SQL Server
into Arrow record batches.

At first glance the Arrow JDBC adapter seems to work well but, unless I'm
mistaken, it simply makes every vector nullable, irrespective of whether
the corresponding SQL column is nullable or not.

I think the line

final FieldType fieldType = new FieldType(true, arrowType, /* dictionary
encoding */ null, metadata);

in
https://github.com/apache/arrow/blob/master/java/adapter/jdbc/src/main/java/org/apache/arrow/adapter/jdbc/JdbcToArrowUtils.java#L158
might be the cause here.

Is my interpretation correct, or am I missing a setting of sorts? If indeed
correct, is there a fundamental reason the NULL-ness is not transferred, or
is this something I could contribute in a PR? (which I'd be happy to) I
guess it's just a matter of inspecting the result metadata.

Cheers,
-J

Reply via email to