Class Sequel::JDBC::TypeConvertor
In: lib/sequel/adapters/jdbc/oracle.rb
lib/sequel/adapters/jdbc/postgresql.rb
lib/sequel/adapters/jdbc/db2.rb
lib/sequel/adapters/jdbc/sqlanywhere.rb
lib/sequel/adapters/jdbc.rb
Parent: Object

Methods

Constants

JAVA_BIG_DECIMAL_CONSTRUCTOR = java.math.BigDecimal.java_class.constructor(Java::long).method(:new_instance)
INSTANCE = new
MAP = Hash.new(o.method(:Object))
BASIC_MAP = MAP.dup

Public Instance methods

[Source]

    # File lib/sequel/adapters/jdbc/db2.rb, line 18
18:       def DB2Clob(r, i)
19:         if v = r.getClob(i)
20:           v = v.getSubString(1, v.length)
21:           v = Sequel::SQL::Blob.new(v) if ::Sequel::DB2::use_clob_as_blob
22:           v
23:         end
24:       end

[Source]

    # File lib/sequel/adapters/jdbc/oracle.rb, line 20
20:       def OracleDecimal(r, i)
21:         if v = r.getBigDecimal(i)
22:           i = v.long_value
23:           if v == JAVA_BIG_DECIMAL_CONSTRUCTOR.call(i)
24:             i
25:           else
26:             BigDecimal.new(v.to_string)
27:           end
28:         end
29:       end

[Source]

    # File lib/sequel/adapters/jdbc.rb, line 84
84:       def RubyBigDecimal(r, i)
85:         if v = r.getBigDecimal(i)
86:           BigDecimal.new(v.to_string)
87:         end
88:       end

[Source]

    # File lib/sequel/adapters/jdbc.rb, line 89
89:       def RubyBlob(r, i)
90:         if v = r.getBytes(i)
91:           Sequel::SQL::Blob.new(String.from_java_bytes(v))
92:         end
93:       end

[Source]

    # File lib/sequel/adapters/jdbc.rb, line 94
94:       def RubyClob(r, i)
95:         if v = r.getClob(i)
96:           v.getSubString(1, v.length)
97:         end
98:       end

[Source]

    # File lib/sequel/adapters/jdbc.rb, line 74
74:       def RubyDate(r, i)
75:         if v = r.getDate(i)
76:           Date.civil(v.getYear + 1900, v.getMonth + 1, v.getDate)
77:         end
78:       end

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.

[Source]

    # File lib/sequel/adapters/jdbc/postgresql.rb, line 22
22:       def RubyPGArray(r, i)
23:         if v = r.getArray(i)
24:           v.array.to_ary
25:         end
26:       end

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.

[Source]

    # File lib/sequel/adapters/jdbc/postgresql.rb, line 31
31:       def RubyPGHstore(r, i)
32:         if v = r.getObject(i)
33:           v.to_hash
34:         end
35:       end

[Source]

    # File lib/sequel/adapters/jdbc.rb, line 69
69:       def RubyTime(r, i)
70:         if v = r.getTime(i)
71:           Sequel.string_to_time("#{v.to_string}.#{sprintf('%03i', v.getTime.divmod(1000).last)}")
72:         end
73:       end

[Source]

    # File lib/sequel/adapters/jdbc.rb, line 79
79:       def RubyTimestamp(r, i)
80:         if v = r.getTimestamp(i)
81:           Sequel.database_to_application_timestamp([v.getYear + 1900, v.getMonth + 1, v.getDate, v.getHours, v.getMinutes, v.getSeconds, v.getNanos])
82:         end
83:       end

[Source]

    # File lib/sequel/adapters/jdbc/sqlanywhere.rb, line 32
32:       def SqlAnywhereBoolean(r, i)
33:         if v = Short(r, i)
34:           v != 0
35:         end
36:       end

[Validate]