I have a question regarding the generic type conversion for JDBC Array 

The java examples I've seen do a further getArray call on the object 
returned by resultset.getArray(column)

  java.sql.Array array = rs.getArray(columnIndex);
  if (array == null) {
    return true;
  Object o = array.getArray();

It looks like the postgres jdbc adapter does the correct thing.

        # Return PostgreSQL array types as ruby Arrays instead of
        # JDBC PostgreSQL driver-specific array type. Only used if the
        # database does not have a conversion proc for the type.
        ARRAY_METHOD = Object.new
        def ARRAY_METHOD.call(r, i)
          if v = r.getArray(i)

However, it looks like the generic jdbc adapter only calls getArray(column)

      %w'Object Array String Time Date Timestamp BigDecimal Blob Bytes Clob'
.each do |meth|
        x = convertors[meth.to_sym] = Object.new
        class_eval("def x.call(r, i) r.get#{meth}(i) end", __FILE__, 

Before I create an issue in github, I wanted to check if there is a reason 
for not making the postgres specific handling the default for all of JDBC.

Guy Boertje

You received this message because you are subscribed to the Google Groups 
"sequel-talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sequel-talk+unsubscr...@googlegroups.com.
To view this discussion on the web visit 

Reply via email to