| Module | Sequel::Postgres::StatementCache::AdapterMethods |
| In: |
lib/sequel/extensions/pg_statement_cache.rb
|
| DML_RE | = | /\A(WITH|SELECT|INSERT|UPDATE|DELETE) / | A regular expression for the types of queries to cache. Any queries not matching this regular expression are not cached. |
| statement_cache | [R] | The StatementCache instance for this connection. Note that each connection has a separate StatementCache, because prepared statements are connection-specific. |
Set the statement_cache for the connection, using the database‘s :statement_cache_opts option.
# File lib/sequel/extensions/pg_statement_cache.rb, line 230
230: def self.extended(c)
231: Sequel::Deprecation.deprecate('The pg_statement_cache extension', 'Please stop loading it') unless defined?(SEQUEL_EXTENSIONS_NO_DEPRECATION_WARNING)
232: c.instance_variable_set(:@statement_cache, StatementCache.new(c.sequel_db.opts[:statement_cache_opts] || {}){|name| c.deallocate(name)})
233: end
Deallocate on the server the prepared statement with the given name.
# File lib/sequel/extensions/pg_statement_cache.rb, line 242
242: def deallocate(name)
243: begin
244: execute("DEALLOCATE #{name}")
245: rescue PGError
246: # table probably got removed, just ignore it
247: end
248: end
pg seems to already use the db method (but not the @db instance variable), so use the sequel_db method to access the related Sequel::Database object.
# File lib/sequel/extensions/pg_statement_cache.rb, line 237
237: def sequel_db
238: @db
239: end