class Sequel::JDBC::Postgres::Dataset

Dataset subclass used for datasets that connect to PostgreSQL via JDBC.

Constants

APOS
ARRAY_TYPE
HSTORE_TYPE
PG_SPECIFIC_TYPES
STRING_TYPE

Public Instance Methods

prepare(type, name=nil, *values) click to toggle source

Add the shared PostgreSQL prepared statement methods

# File lib/sequel/adapters/jdbc/postgresql.rb, line 170
def prepare(type, name=nil, *values)
  ps = to_prepared_statement(type, values)
  ps.extend(JDBC::Dataset::PreparedStatementMethods)
  ps.extend(::Sequel::Postgres::DatasetMethods::PreparedStatementMethods)
  if name
    ps.prepared_statement_name = name
    db.set_prepared_statement(name, ps)
  end
  ps
end

Private Instance Methods

literal_string_append(sql, v) click to toggle source

Literalize strings similar to the native postgres adapter

# File lib/sequel/adapters/jdbc/postgresql.rb, line 184
def literal_string_append(sql, v)
  sql << APOS << db.synchronize(@opts[:server]){|c| c.escape_string(v)} << APOS
end
type_convertor(map, meta, type, i) click to toggle source
Calls superclass method Sequel::JDBC::Dataset#type_convertor
# File lib/sequel/adapters/jdbc/postgresql.rb, line 193
def type_convertor(map, meta, type, i)
  case type
  when *PG_SPECIFIC_TYPES
    oid = meta.field(i).oid
    if pr = db.oid_convertor_proc(oid)
      pr
    elsif type == ARRAY_TYPE
      map[:RubyPGArray]
    elsif oid == 2950 # UUID
      map[STRING_TYPE]
    elsif meta.getPGType(i) == HSTORE_TYPE
      map[:RubyPGHstore]
    else
      super
    end
  else
    super
  end
end