module Sequel::Postgres::ExtendedIntegerSupport
Public Instance Methods
integer_outside_bigint_range_strategy(strategy)
click to toggle source
Set the strategy for handling integers outside PostgreSQL bigint range. Supported values:
- :quote
-
Quote the integer value. PostgreSQL will treat the integer as a unknown type, implicitly casting to any other type as needed. This is the default value when using the pg_extended_integer_support extension.
- :raise
-
Raise error when attempting to literalize the integer (the default behavior of
Sequel
on PostgreSQL when not using the pg_extended_integer_support extension). - :raw
-
Use raw integer value without quoting. PostgreSQL will treat the integer as a numeric. This was Sequel’s historical behavior, but it is unlikely to be desired.
# File lib/sequel/extensions/pg_extended_integer_support.rb 94 def integer_outside_bigint_range_strategy(strategy) 95 clone(:integer_outside_bigint_range_strategy=>strategy) 96 end
Private Instance Methods
literal_integer_outside_bigint_range(v)
click to toggle source
Handle integers outside the bigint range by using the configured strategy.
Calls superclass method
# File lib/sequel/extensions/pg_extended_integer_support.rb 102 def literal_integer_outside_bigint_range(v) 103 case @opts[:integer_outside_bigint_range_strategy] || @db.opts[:integer_outside_bigint_range_strategy] 104 when :raise 105 super 106 when :raw 107 v.to_s 108 else # when :quote 109 "'#{v}'" 110 end 111 end