Module Sequel::Dataset::ArgumentMapper
In: lib/sequel/dataset/prepared_statements.rb

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).

Methods

call   prepared_sql  

Constants

SQL_QUERY_TYPE = Hash.new{|h,k| h[k] = k}

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

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

[Source]

    # File lib/sequel/dataset/prepared_statements.rb, line 25
25:       def call(bind_vars={}, &block)
26:         ds = bind(bind_vars)
27:         ds.prepared_sql
28:         ds.bind_arguments = ds.map_to_prepared_args(ds.opts[:bind_vars])
29:         ds.run(&block)
30:       end

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

[Source]

    # File lib/sequel/dataset/prepared_statements.rb, line 34
34:       def prepared_sql
35:         return @prepared_sql if @prepared_sql
36:         @prepared_args ||= []
37:         @prepared_sql = super
38:         meta_def("#{sql_query_type}_sql"){|*args| prepared_sql}
39:         @prepared_sql
40:       end

[Validate]