class ActiveRecord::ConnectionAdapters::PostgreSQL::OID::TypeMap

Public Class Methods

new() click to toggle source
# File lib/arjdbc/postgresql/base/oid.rb, line 298
def initialize
  @mapping = {}
end

Public Instance Methods

[](oid) click to toggle source
# File lib/arjdbc/postgresql/base/oid.rb, line 306
def [](oid)
  @mapping[oid]
end
[]=(oid, type) click to toggle source
# File lib/arjdbc/postgresql/base/oid.rb, line 302
def []=(oid, type)
  @mapping[oid] = type
end
clear() click to toggle source
# File lib/arjdbc/postgresql/base/oid.rb, line 310
def clear
  @mapping.clear
end
fetch(ftype, fmod) { |oid, fmod| ... } click to toggle source
# File lib/arjdbc/postgresql/base/oid.rb, line 318
def fetch(ftype, fmod)
  # The type for the numeric depends on the width of the field,
  # so we'll do something special here.
  #
  # When dealing with decimal columns:
  #
  # places after decimal  = fmod - 4 & 0xffff
  # places before decimal = (fmod - 4) >> 16 & 0xffff
  if ftype == 1700 && (fmod - 4 & 0xffff).zero?
    ftype = 23
  end

  @mapping.fetch(ftype) { |oid| yield oid, fmod }
end
key?(oid) click to toggle source
# File lib/arjdbc/postgresql/base/oid.rb, line 314
def key?(oid)
  @mapping.key? oid
end