module Sequel::MySQL::PreparedStatements::DatasetMethods

  1. lib/sequel/adapters/shared/mysql_prepared_statements.rb

Methods

Public Instance

  1. call
  2. prepare

Public Instance methods

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.

[show source]
# File lib/sequel/adapters/shared/mysql_prepared_statements.rb, line 154
def call(type, bind_arguments={}, *values, &block)
  ps = to_prepared_statement(type, values)
  ps.extend(CallableStatementMethods)
  ps.call(bind_arguments, &block)
end
prepare (type, name=nil, *values)

Store the given type of prepared statement in the associated database with the given name.

[show source]
# File lib/sequel/adapters/shared/mysql_prepared_statements.rb, line 162
def prepare(type, name=nil, *values)
  ps = to_prepared_statement(type, values)
  ps.extend(PreparedStatementMethods)
  if name
    ps.prepared_statement_name = name
    db.set_prepared_statement(name, ps)
  end
  ps
end