Module: Sequel::Dataset::ArgumentMapper
- Included in:
- UnnumberedArgumentMapper, Oracle::Dataset::ArgumentMapper, Postgres::Dataset::ArgumentMapper, SQLite::Dataset::ArgumentMapper, TinyTDS::Dataset::ArgumentMapper
- Defined in:
- lib/sequel/dataset/prepared_statements.rb
Overview
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).
Instance Method Summary collapse
-
#bind_arguments ⇒ Object
The bind arguments to use for running this prepared statement.
-
#call(bind_vars = OPTS, &block) ⇒ Object
Set the bind arguments based on the hash and call super.
-
#prepared_sql ⇒ Object
Override the given *_sql method based on the type, and cache the result of the sql.
-
#prepared_statement_name ⇒ Object
The name of the prepared statement, if any.
Instance Method Details
permalink #bind_arguments ⇒ Object
The bind arguments to use for running this prepared statement
51 52 53 |
# File 'lib/sequel/dataset/prepared_statements.rb', line 51 def bind_arguments @opts[:bind_arguments] end |
permalink #call(bind_vars = OPTS, &block) ⇒ Object
Set the bind arguments based on the hash and call super.
56 57 58 59 60 61 |
# File 'lib/sequel/dataset/prepared_statements.rb', line 56 def call(bind_vars=OPTS, &block) sql = prepared_sql prepared_args.freeze ps = bind(bind_vars) ps.clone(:bind_arguments=>ps.map_to_prepared_args(ps.opts[:bind_vars]), :sql=>sql, :prepared_sql=>sql).run(&block) end |
permalink #prepared_sql ⇒ Object
Override the given *_sql method based on the type, and cache the result of the sql.
65 66 67 68 69 70 |
# File 'lib/sequel/dataset/prepared_statements.rb', line 65 def prepared_sql if sql = @opts[:prepared_sql] || cache_get(:_prepared_sql) return sql end cache_set(:_prepared_sql, super) end |
permalink #prepared_statement_name ⇒ Object
The name of the prepared statement, if any.
46 47 48 |
# File 'lib/sequel/dataset/prepared_statements.rb', line 46 def prepared_statement_name @opts[:prepared_statement_name] end |