class PG::BasicTypeMapForResults::WarningTypeMap

Public Class Methods

new(typenames) click to toggle source
# File lib/pg/basic_type_mapping.rb, line 245
def initialize(typenames)
        @already_warned = Hash.new{|h, k| h[k] = {} }
        @typenames_by_oid = typenames
end

Public Instance Methods

typecast_result_value(result, _tuple, field) click to toggle source
Calls superclass method PG::TypeMapInRuby#typecast_result_value
# File lib/pg/basic_type_mapping.rb, line 250
def typecast_result_value(result, _tuple, field)
        format = result.fformat(field)
        oid = result.ftype(field)
        unless @already_warned[format][oid]
                STDERR.puts "Warning: no type cast defined for type #{@typenames_by_oid[format][oid].inspect} with oid #{oid}. Please cast this type explicitly to TEXT to be safe for future changes."
                 @already_warned[format][oid] = true
        end
        super
end