Module: Sequel::MySQL::PreparedStatements::DatabaseMethods

Included in:
Database, Sequel::Mysql2::Database
Defined in:
lib/sequel/adapters/shared/mysql_prepared_statements.rb

Instance Method Summary collapse

Instance Method Details

#call_sproc(name, opts = {}, &block) ⇒ Object

Support stored procedures on MySQL



10
11
12
13
# File 'lib/sequel/adapters/shared/mysql_prepared_statements.rb', line 10

def call_sproc(name, opts={}, &block)
  args = opts[:args] || [] 
  execute("CALL #{name}#{args.empty? ? '()' : literal(args)}", opts.merge(:sproc=>false), &block)
end

#execute(sql, opts = {}, &block) ⇒ Object

Executes the given SQL using an available connection, yielding the connection if the block is given.



17
18
19
20
21
22
23
24
25
# File 'lib/sequel/adapters/shared/mysql_prepared_statements.rb', line 17

def execute(sql, opts={}, &block)
  if opts[:sproc]
    call_sproc(sql, opts, &block)
  elsif sql.is_a?(Symbol)
    execute_prepared_statement(sql, opts, &block)
  else
    synchronize(opts[:server]){|conn| _execute(conn, sql, opts, &block)}
  end
end