class PG::BasicTypeMapForResults::WarningTypeMap
Public Class Methods
new(typenames)
click to toggle source
# 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)
click to toggle source
Calls superclass method
PG::TypeMapInRuby#typecast_result_value
# 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