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/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



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

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

#buffered_reader(v) ⇒ Object



656
657
658
659
660
661
662
663
664
665
# File 'lib/sequel/adapters/jdbc.rb', line 656

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



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

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

#clob(v) ⇒ Object



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

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

#date(v) ⇒ Object



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

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

#decimal(v) ⇒ Object



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

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



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

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) Sequel::SQL::Blob.new(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



46
47
48
# File 'lib/sequel/adapters/jdbc/postgresql.rb', line 46

def pg_object(v)
  v.to_string
end

#time(v) ⇒ Object



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

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

#uuid(v) ⇒ Object



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

def uuid(v) v.to_string end