123456789_123456789_123456789_123456789_123456789_

Module: ActiveRecord::ConnectionAdapters::PostgreSQL::Quoting

Relationships & Source Files
Namespace Children
Exceptions:
Extension / Inclusion / Inheritance Descendants
Included In:
Super Chains via Extension / Inclusion / Inheritance
Class Chain:
Defined in: activerecord/lib/active_record/connection_adapters/postgresql/quoting.rb

Class Method Summary

::ActiveSupport::Concern - Extended

class_methods

Define class methods from given block.

included

Evaluate given block in context of base class, so that you can write class macros here.

prepended

Evaluate given block in context of base class, so that you can write class macros here.

Instance Method Summary

Instance Method Details

#check_int_in_range(value)

[ GitHub ]

  
# File 'activerecord/lib/active_record/connection_adapters/postgresql/quoting.rb', line 81

def check_int_in_range(value)
  if value.to_int > 9223372036854775807 || value.to_int < -9223372036854775808
    exception = <<~ERROR
      Provided value outside of the range of a signed 64bit integer.

      PostgreSQL will treat the column type in question as a numeric.
      This may result in a slow sequential scan due to a comparison
      being performed between an integer or bigint value and a numeric value.

      To allow for this potentially unwanted behavior, set
      ActiveRecord.raise_int_wider_than_64bit to false.
    ERROR
    raise IntegerOutOf64BitRange.new exception
  end
end

#escape_bytea(value)

Escapes binary strings for bytea input to the database.

[ GitHub ]

  
# File 'activerecord/lib/active_record/connection_adapters/postgresql/quoting.rb', line 70

def escape_bytea(value)
  valid_raw_connection.escape_bytea(value) if value
end

#quote_schema_name(schema_name)

Quotes schema names for use in SQL queries.

[ GitHub ]

  
# File 'activerecord/lib/active_record/connection_adapters/postgresql/quoting.rb', line 138

def quote_schema_name(schema_name)
  quote_column_name(schema_name)
end

#quote_table_name_for_assignment(table, attr)

[ GitHub ]

  
# File 'activerecord/lib/active_record/connection_adapters/postgresql/quoting.rb', line 133

def quote_table_name_for_assignment(table, attr)
  quote_column_name(attr)
end

#unescape_bytea(value)

Unescapes bytea output from a database to the binary string it represents. NOTE: This is NOT an inverse of escape_bytea! This is only to be used on escaped binary output from database drive.

[ GitHub ]

  
# File 'activerecord/lib/active_record/connection_adapters/postgresql/quoting.rb', line 77

def unescape_bytea(value)
  valid_raw_connection.unescape_bytea(value) if value
end