Module: Sequel::MySQL::PreparedStatements::DatabaseMethods
- Included in:
- Database, Sequel::Mysql2::Database
- Defined in:
- lib/sequel/adapters/shared/mysql_prepared_statements.rb
Constant Summary collapse
- MYSQL_DATABASE_DISCONNECT_ERRORS =
Error messages for mysql and mysql2 that indicate the current connection should be disconnected
/\A#{Regexp.union(disconnect_errors)}/o
Instance Method Summary collapse
-
#call_sproc(name, opts = OPTS, &block) ⇒ Object
Support stored procedures on MySQL.
-
#execute(sql, opts = 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 = OPTS, &block) ⇒ Object
Support stored procedures on MySQL
21 22 23 24 |
# File 'lib/sequel/adapters/shared/mysql_prepared_statements.rb', line 21 def call_sproc(name, opts=OPTS, &block) args = opts[:args] || [] execute("CALL #{name}#{args.empty? ? '()' : literal(args)}", opts.merge(:sproc=>false), &block) end |
#execute(sql, opts = OPTS, &block) ⇒ Object
Executes the given SQL using an available connection, yielding the connection if the block is given.
28 29 30 31 32 33 34 35 36 |
# File 'lib/sequel/adapters/shared/mysql_prepared_statements.rb', line 28 def execute(sql, opts=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 |