Class: Sequel::JDBC::Dataset::TYPE_TRANSLATOR

Inherits:
Object
  • Object
show all
Defined in:
lib/sequel/adapters/jdbc.rb,
lib/sequel/adapters/jdbc/h2.rb,
lib/sequel/adapters/jdbc/db2.rb,
lib/sequel/adapters/jdbc/jtds.rb,
lib/sequel/adapters/jdbc/derby.rb,
lib/sequel/adapters/jdbc/oracle.rb,
lib/sequel/adapters/jdbc/postgresql.rb

Overview

JAVA_H2_CLOB = Java::OrgH2Jdbc::JdbcClob

Constant Summary collapse

LF =
"\n".freeze

Instance Method Summary collapse

Instance Method Details

#blob(v) ⇒ Object



671
# File 'lib/sequel/adapters/jdbc.rb', line 671

def blob(v) Sequel::SQL::Blob.new(String.from_java_bytes(v.getBytes(1, v.length))) end

#buffered_reader(v) ⇒ Object



673
674
675
676
677
678
679
680
681
682
# File 'lib/sequel/adapters/jdbc.rb', line 673

def buffered_reader(v)
  lines = ""
  c = false
  while(line = v.read_line) do
    lines << LF if c
    lines << line
    c ||= true
  end
  lines
end

#byte_array(v) ⇒ Object



670
# File 'lib/sequel/adapters/jdbc.rb', line 670

def byte_array(v) Sequel::SQL::Blob.new(String.from_java_bytes(v)) end

#clob(v) ⇒ Object



672
# File 'lib/sequel/adapters/jdbc.rb', line 672

def clob(v) v.getSubString(1, v.length) end

#date(v) ⇒ Object



668
# File 'lib/sequel/adapters/jdbc.rb', line 668

def date(v) Date.civil(v.getYear + 1900, v.getMonth + 1, v.getDate) end

#db2_clob(v) ⇒ Object



59
# File 'lib/sequel/adapters/jdbc/db2.rb', line 59

def db2_clob(v) Sequel::SQL::Blob.new(v.getSubString(1, v.length)) end

#decimal(v) ⇒ Object



669
# File 'lib/sequel/adapters/jdbc.rb', line 669

def decimal(v) BigDecimal.new(v.to_string) end

#derby_clob(v) ⇒ Object



245
# File 'lib/sequel/adapters/jdbc/derby.rb', line 245

def derby_clob(v) v.getSubString(1, v.length) end

#h2_clob(v) ⇒ Object



176
# File 'lib/sequel/adapters/jdbc/h2.rb', line 176

def h2_clob(v) v.getSubString(1, v.length) end

#jtds_clob(v) ⇒ Object



24
# File 'lib/sequel/adapters/jdbc/jtds.rb', line 24

def jtds_clob(v) v.getSubString(1, v.length) end

#oracle_decimal(v) ⇒ Object



80
81
82
83
84
85
86
87
88
89
90
91
# File 'lib/sequel/adapters/jdbc/oracle.rb', line 80

def oracle_decimal(v)
  if v.scale == 0
    i = v.long_value
    if v.equals(JAVA_BIG_DECIMAL.new(i))
      i
    else
      decimal(v)
    end
  else
    decimal(v)
  end
end

#pg_object(v) ⇒ Object

Convert Java::OrgPostgresqlUtil::PGobject to ruby strings



107
108
109
# File 'lib/sequel/adapters/jdbc/postgresql.rb', line 107

def pg_object(v)
  v.to_string
end

#time(v) ⇒ Object



667
# File 'lib/sequel/adapters/jdbc.rb', line 667

def time(v) Sequel.string_to_time("#{v.to_string}.#{sprintf('%03i', v.getTime.divmod(1000).last)}") end

#uuid(v) ⇒ Object



683
# File 'lib/sequel/adapters/jdbc.rb', line 683

def uuid(v) v.to_string end