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 19
19:       def call(hash, &block)
20:         ds = clone
21:         ds.prepared_sql
22:         ds.bind_arguments = ds.map_to_prepared_args(hash)
23:         ds.prepared_args = hash
24:         ds.run(&block)
25:       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 29
29:       def prepared_sql
30:         return @prepared_sql if @prepared_sql
31:         @prepared_args ||= []
32:         @prepared_sql = super
33:         meta_def("#{sql_query_type}_sql"){|*args| prepared_sql}
34:         @prepared_sql
35:       end

[Validate]