Class: ActiveRecord::ConnectionAdapters::PostgreSQLAdapter::StatementPool
Relationships & Source Files | |
Super Chains via Extension / Inclusion / Inheritance | |
Class Chain:
|
|
Instance Chain:
|
|
Inherits: |
ActiveRecord::ConnectionAdapters::StatementPool
|
Defined in: | activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb |
Constant Summary
Class Method Summary
- .new(connection, max) ⇒ StatementPool constructor
::ActiveRecord::ConnectionAdapters::StatementPool
- Inherited
Instance Attribute Summary
::Enumerable
- Included
#many? | Returns |
Instance Method Summary
- #next_key
- #dealloc(key) private
::ActiveRecord::ConnectionAdapters::StatementPool
- Inherited
#[], #[]=, #clear, #delete, #each, #key?, #length, | |
#reset | Clear the pool without deallocating; this is only safe when we know the server has independently deallocated all statements (e.g. |
#cache, #dealloc |
::Enumerable
- Included
#compact_blank | Returns a new |
#exclude? | The negative of the |
#excluding | Returns a copy of the enumerable excluding the specified elements. |
#in_order_of | Returns a new |
#including | Returns a new array that includes the passed elements. |
#index_by | Convert an enumerable to a hash, using the block result as the key and the element as the value. |
#index_with | Convert an enumerable to a hash, using the element as the key and the block result as the value. |
#maximum | Calculates the maximum from the extracted elements. |
#minimum | Calculates the minimum from the extracted elements. |
#pick | Extract the given key from the first element in the enumerable. |
#pluck | Extract the given key from each element in the enumerable. |
#sole | Returns the sole item in the enumerable. |
#without | Alias for Enumerable#excluding. |
#as_json |
::ActiveSupport::EnumerableCoreExt::Constants
- Included
Constructor Details
.new(connection, max) ⇒ StatementPool
# File 'activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb', line 296
def initialize(connection, max) super(max) @connection = connection @counter = 0 end
Instance Method Details
#dealloc(key) (private)
[ GitHub ]# File 'activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb', line 307
def dealloc(key) # This is ugly, but safe: the statement pool is only # accessed while holding the connection's lock. (And we # don't need the complication of with_raw_connection because # a reconnect would invalidate the entire statement pool.) if conn = @connection.instance_variable_get(:@raw_connection) conn.query "DEALLOCATE #{key}" if conn.status == PG::CONNECTION_OK end rescue PG::Error end
#next_key
[ GitHub ]# File 'activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb', line 302
def next_key "a#{@counter += 1}" end