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
-
#call_sproc(name, opts = {}, &block) ⇒ Object
Support stored procedures on MySQL.
-
#execute(sql, opts = {}, &block) ⇒ Object
Executes the given SQL using an available connection, yielding the connection if the block is given.
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 |