module Sequel::Dataset::ArgumentMapper

  1. lib/sequel/dataset/prepared_statements.rb
Parent: Dataset

Default implementation of the argument mapper to allow native database support for bind variables and prepared statements (as opposed to the emulated ones used by default).

Attributes

bind_arguments [RW]

The bind arguments to use for running this prepared statement

prepared_statement_name [RW]

The name of the prepared statement, if any.

Public Instance methods

call (bind_vars={}, &block)

Set the bind arguments based on the hash and call super.

[show source]
# File lib/sequel/dataset/prepared_statements.rb, line 22
def call(bind_vars={}, &block)
  ds = bind(bind_vars)
  ds.prepared_sql
  ds.bind_arguments = ds.map_to_prepared_args(ds.opts[:bind_vars])
  ds.run(&block)
end
prepared_sql ()

Override the given *_sql method based on the type, and cache the result of the sql.

[show source]
# File lib/sequel/dataset/prepared_statements.rb, line 31
def prepared_sql
  return @prepared_sql if @prepared_sql
  @prepared_args ||= []
  @prepared_sql = super
  @opts[:sql] = @prepared_sql
  @prepared_sql
end