PG::BasicTypeMapForResults::

WarningTypeMap class

Public Class Methods

new(typenames)
# File lib/pg/basic_type_map_for_results.rb, line 73
def initialize(typenames)
        @already_warned = {}
        @typenames_by_oid = typenames
end

Public Instance Methods

typecast_result_value(result, _tuple, field)
# File lib/pg/basic_type_map_for_results.rb, line 78
def typecast_result_value(result, _tuple, field)
        format = result.fformat(field)
        oid = result.ftype(field)
        unless @already_warned.dig(format, oid)
                warn "Warning: no type cast defined for type #{@typenames_by_oid[oid].inspect} format #{format} with oid #{oid}. Please cast this type explicitly to TEXT to be safe for future changes."
                unless frozen?
                        @already_warned[format] ||= {}
                        @already_warned[format][oid] = true
                end
        end
        super
end