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