Class Sequel::JDBC::TypeConvertor
In: lib/sequel/adapters/jdbc/sqlanywhere.rb
lib/sequel/adapters/jdbc/postgresql.rb
lib/sequel/adapters/jdbc/oracle.rb
lib/sequel/adapters/jdbc/db2.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 16
16:       def DB2Clob(r, i)
17:         if v = r.getClob(i)
18:           v = v.getSubString(1, v.length)
19:           v = Sequel::SQL::Blob.new(v) if ::Sequel::DB2::use_clob_as_blob
20:           v
21:         end
22:       end

[Source]

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

[Source]

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

[Source]

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

[Source]

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

[Source]

    # File lib/sequel/adapters/jdbc.rb, line 72
72:       def RubyDate(r, i)
73:         if v = r.getDate(i)
74:           Date.civil(v.getYear + 1900, v.getMonth + 1, v.getDate)
75:         end
76:       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 20
20:       def RubyPGArray(r, i)
21:         if v = r.getArray(i)
22:           v.array.to_ary
23:         end
24:       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 29
29:       def RubyPGHstore(r, i)
30:         if v = r.getObject(i)
31:           v.to_hash
32:         end
33:       end

[Source]

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

[Source]

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

[Source]

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

[Validate]