class Sequel::JDBC::TypeConvertor

Constants

BASIC_MAP
INSTANCE
JAVA_BIG_DECIMAL_CONSTRUCTOR
MAP

Public Instance Methods

DB2Clob(r, i) click to toggle source
# File lib/sequel/adapters/jdbc/db2.rb, line 16
def DB2Clob(r, i)
  if v = r.getClob(i)
    v = v.getSubString(1, v.length)
    v = Sequel::SQL::Blob.new(v) if ::Sequel::DB2::use_clob_as_blob
    v
  end
end
OracleDecimal(r, i) click to toggle source
# File lib/sequel/adapters/jdbc/oracle.rb, line 18
def OracleDecimal(r, i)
  if v = r.getBigDecimal(i)
    i = v.long_value
    if v == JAVA_BIG_DECIMAL_CONSTRUCTOR.call(i)
      i
    else
      BigDecimal.new(v.to_string)
    end
  end
end
RubyBigDecimal(r, i) click to toggle source
# File lib/sequel/adapters/jdbc.rb, line 82
def RubyBigDecimal(r, i)
  if v = r.getBigDecimal(i)
    BigDecimal.new(v.to_string)
  end
end
RubyBlob(r, i) click to toggle source
# File lib/sequel/adapters/jdbc.rb, line 87
def RubyBlob(r, i)
  if v = r.getBytes(i)
    Sequel::SQL::Blob.new(String.from_java_bytes(v))
  end
end
RubyClob(r, i) click to toggle source
# File lib/sequel/adapters/jdbc.rb, line 92
def RubyClob(r, i)
  if v = r.getClob(i)
    v.getSubString(1, v.length)
  end
end
RubyDate(r, i) click to toggle source
# File lib/sequel/adapters/jdbc.rb, line 72
def RubyDate(r, i)
  if v = r.getDate(i)
    Date.civil(v.getYear + 1900, v.getMonth + 1, v.getDate)
  end
end
RubyPGArray(r, i) click to toggle source

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.

# File lib/sequel/adapters/jdbc/postgresql.rb, line 20
def RubyPGArray(r, i)
  if v = r.getArray(i)
    v.array.to_ary
  end
end
RubyPGHstore(r, i) click to toggle source

Return PostgreSQL hstore types as ruby Hashes instead of Java HashMaps. Only used if the database does not have a conversion proc for the type.

# File lib/sequel/adapters/jdbc/postgresql.rb, line 29
def RubyPGHstore(r, i)
  if v = r.getObject(i)
    v.to_hash
  end
end
RubyTime(r, i) click to toggle source
# File lib/sequel/adapters/jdbc.rb, line 67
def RubyTime(r, i)
  if v = r.getTime(i)
    Sequel.string_to_time("#{v.to_string}.#{sprintf('%03i', v.getTime.divmod(1000).last)}")
  end
end
RubyTimestamp(r, i) click to toggle source
# File lib/sequel/adapters/jdbc.rb, line 77
def RubyTimestamp(r, i)
  if v = r.getTimestamp(i)
    Sequel.database_to_application_timestamp([v.getYear + 1900, v.getMonth + 1, v.getDate, v.getHours, v.getMinutes, v.getSeconds, v.getNanos])
  end
end
SqlAnywhereBoolean(r, i) click to toggle source
# File lib/sequel/adapters/jdbc/sqlanywhere.rb, line 30
def SqlAnywhereBoolean(r, i)
  if v = Short(r, i)
    v != 0
  end
end