Module: Sequel::MySQL::PreparedStatements::DatasetMethods
- Includes:
- Dataset::StoredProcedures
- Included in:
- Dataset, Sequel::Mysql2::Dataset
- Defined in:
- lib/sequel/adapters/shared/mysql_prepared_statements.rb
Defined Under Namespace
Modules: CallableStatementMethods, PreparedStatementMethods, StoredProcedureMethods
Instance Method Summary (collapse)
-
- (Object) call(type, bind_arguments = {}, *values, &block)
MySQL is different in that it supports prepared statements but not bound variables outside of prepared statements.
-
- (Object) prepare(type, name = nil, *values)
Store the given type of prepared statement in the associated database with the given name.
Methods included from Dataset::StoredProcedures
Instance Method Details
- (Object) call(type, bind_arguments = {}, *values, &block)
MySQL is different in that it supports prepared statements but not bound variables outside of prepared statements. The default implementation breaks the use of subselects in prepared statements, so extend the temporary prepared statement that this creates with a module that fixes it.
122 123 124 125 126 |
# File 'lib/sequel/adapters/shared/mysql_prepared_statements.rb', line 122 def call(type, bind_arguments={}, *values, &block) ps = to_prepared_statement(type, values) ps.extend(CallableStatementMethods) ps.call(bind_arguments, &block) end |
- (Object) prepare(type, name = nil, *values)
Store the given type of prepared statement in the associated database with the given name.
130 131 132 133 134 135 136 137 138 |
# File 'lib/sequel/adapters/shared/mysql_prepared_statements.rb', line 130 def prepare(type, name=nil, *values) ps = to_prepared_statement(type, values) ps.extend(PreparedStatementMethods) if name ps.prepared_statement_name = name db.prepared_statements[name] = ps end ps end |