Class: ActiveRecord::ConnectionAdapters::PostgreSQLAdapter

Inherits:
JdbcAdapter
  • Object
show all
Includes:
ArJdbc::PostgreSQL, ArJdbc::Util::QuotedCache
Defined in:
lib/arjdbc/postgresql/adapter.rb

Defined Under Namespace

Modules: ColumnMethods Classes: ColumnDefinition, Table, TableDefinition

Constant Summary

Constants included from ArJdbc::PostgreSQL

ArJdbc::PostgreSQL::ADAPTER_NAME, ArJdbc::PostgreSQL::NATIVE_DATABASE_TYPES

Constants inherited from JdbcAdapter

JdbcAdapter::ADAPTER_NAME

Instance Attribute Summary

Attributes inherited from JdbcAdapter

#config

Instance Method Summary collapse

Methods included from ArJdbc::Util::QuotedCache

#quote_column_name, #quote_table_name

Methods included from ArJdbc::PostgreSQL

#adapter_name, #add_column, #add_index, #add_order_by_for_association_limiting!, #all_schemas, arel_visitor_type, #change_column, #change_column_default, #change_column_null, #client_min_messages, #client_min_messages=, #collation, column_selector, #columns_for_distinct, #configure_connection, #create_database, #create_savepoint, #create_schema, #ctype, #current_database, #current_schema, #default_sequence_name, #disable_extension, #disable_referential_integrity, #distinct, #drop_database, #drop_schema, #enable_extension, #encoding, #escape_bytea, #exec_insert, #extension_enabled?, #extensions, #index_algorithms, #index_name_exists?, #index_name_length, #indexes, #insert_sql, #jdbc_column_class, jdbc_connection_class, #last_insert_id, #last_insert_id_result, #last_inserted_id, #migration_keys, #multi_column_index_limit, #multi_column_index_limit=, #native_database_types, #pk_and_sequence_for, #postgresql_version, #prepare_column_options, #primary_key, #quote, #quote_bit, #quote_column_name, #quote_string, #quote_table_name, #quote_table_name_for_assignment, #quoted_date, #recreate_database, #release_savepoint, #remove_index!, #rename_column, #rename_index, #rename_table, #reset_pk_sequence!, #rollback_to_savepoint, #schema_creation, #schema_exists?, #schema_names, #schema_search_path, #schema_search_path=, #session_auth=, #set_client_encoding, #set_standard_conforming_strings, #sql_for_insert, #standard_conforming_strings=, #standard_conforming_strings?, #structure_dump, #supports_ddl_transactions?, #supports_disable_referential_integrity?, #supports_extensions?, #supports_hex_escaped_bytea?, #supports_index_sort_order?, #supports_insert_with_returning?, #supports_migrations?, #supports_partial_index?, #supports_primary_key?, #supports_ranges?, #supports_savepoints?, #supports_standard_conforming_strings?, #supports_transaction_isolation?, #supports_views?, #table_alias_length, #table_exists?, #tables, #truncate, #type_cast, #type_to_sql, #use_insert_returning?

Methods inherited from JdbcAdapter

#active?, #adapter_name, #adapter_spec, arel2_visitors, #begin_db_transaction, #begin_isolated_db_transaction, #columns, #commit_db_transaction, configure_arel2_visitors, #create_savepoint, #current_savepoint_name, #database_name, #disconnect!, #exec_delete, #exec_insert, #exec_query, #exec_query_raw, #exec_update, #indexes, insert?, #insert_sql, #is_a?, #jdbc_column_class, #jdbc_connection, #log, #modify_types, #native_database_types, #pk_and_sequence_for, prepared_statements?, #prepared_statements?, #primary_key, #primary_keys, #reconnect!, #release_savepoint, #rollback_db_transaction, #rollback_to_savepoint, select?, #structure_dump, suble_binds=, suble_binds?, #supports_migrations?, #supports_savepoints?, #supports_transaction_isolation?, #supports_views?, #table_exists?, #tables, #translate_exception, update?, #update_lob_value, #write_large_object

Methods included from Jdbc::ConnectionPoolCallbacks

#on_checkin, #on_checkout

Methods included from Jdbc::ArelSupport

#unprepared_visitor

Constructor Details

#initialize(*args) ⇒ PostgreSQLAdapter

Returns a new instance of PostgreSQLAdapter.



1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
# File 'lib/arjdbc/postgresql/adapter.rb', line 1400

def initialize(*args)
  # @local_tz is initialized as nil to avoid warnings when connect tries to use it
  @local_tz = nil

  super # configure_connection happens in super

  @table_alias_length = nil

  initialize_type_map(@type_map = Type::HashLookupTypeMap.new) if AR42_COMPAT

  @use_insert_returning = @config.key?(:insert_returning) ?
    self.class.type_cast_config_to_boolean(@config[:insert_returning]) : nil
end

Instance Method Details

#jdbc_connection_class(spec) ⇒ Object



1548
1549
1550
# File 'lib/arjdbc/postgresql/adapter.rb', line 1548

def jdbc_connection_class(spec)
  ::ArJdbc::PostgreSQL.jdbc_connection_class
end

#table_definition(*args) ⇒ Object



1536
1537
1538
# File 'lib/arjdbc/postgresql/adapter.rb', line 1536

def table_definition(*args)
  new_table_definition(TableDefinition, *args)
end

#update_table_definition(table_name, base) ⇒ Object



1544
1545
1546
# File 'lib/arjdbc/postgresql/adapter.rb', line 1544

def update_table_definition(table_name, base)
  Table.new(table_name, base)
end