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 276 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
Clear statement caches for all connections when altering tables.
# File lib/sequel/extensions/pg_statement_cache.rb, line 293 def alter_table(*) clear_statement_caches super end
Clear statement caches for all connections when dropping tables.
# File lib/sequel/extensions/pg_statement_cache.rb, line 299 def drop_table(*) clear_statement_caches super end