module Sequel::Postgres::StatementCache::DatabaseMethods
Public Class Methods
extended(db)
click to toggle source
Setup the after_connect proc for the connection pool to make sure the connection object is extended with the appropriate module. This disconnects any existing connections to ensure that all connections in the pool have been extended appropriately.
# File lib/sequel/extensions/pg_statement_cache.rb, line 277 def self.extended(db) # Respect existing after_connect proc if one is present pr = db.opts[:after_connect] # Set the after_connect proc to extend the adapter with # the statement cache support. db.pool.after_connect = db.opts[:after_connect] = proc do |c| pr.call(c) if pr c.extend(AdapterMethods) end # Disconnect to make sure all connections get set up with # statement cache. db.disconnect end
Public Instance Methods
alter_table(*)
click to toggle source
Clear statement caches for all connections when altering tables.
Calls superclass method
# File lib/sequel/extensions/pg_statement_cache.rb, line 294 def alter_table(*) clear_statement_caches super end
drop_table(*)
click to toggle source
Clear statement caches for all connections when dropping tables.
Calls superclass method
# File lib/sequel/extensions/pg_statement_cache.rb, line 300 def drop_table(*) clear_statement_caches super end
Private Instance Methods
clear_statement_caches()
click to toggle source
Clear the statement cache for all connections. Note that for the threaded pools, this will not affect connections currently allocated to other threads.
# File lib/sequel/extensions/pg_statement_cache.rb, line 310 def clear_statement_caches pool.all_connections{|c| c.statement_cache.clear} end