module Sequel::MySQL::MysqlMysql2::DatabaseMethods
Constants
- MYSQL_DATABASE_DISCONNECT_ERRORS
Public Instance Methods
call_sproc(name, opts=OPTS, &block)
click to toggle source
Support stored procedures on MySQL
# File lib/sequel/adapters/utils/mysql_mysql2.rb 26 def call_sproc(name, opts=OPTS, &block) 27 args = opts[:args] || [] 28 execute("CALL #{name}#{args.empty? ? '()' : literal(args)}", opts.merge(:sproc=>false), &block) 29 end
execute(sql, opts=OPTS, &block)
click to toggle source
Executes the given SQL
using an available connection, yielding the connection if the block is given.
# File lib/sequel/adapters/utils/mysql_mysql2.rb 33 def execute(sql, opts=OPTS, &block) 34 if opts[:sproc] 35 call_sproc(sql, opts, &block) 36 elsif sql.is_a?(Symbol) 37 execute_prepared_statement(sql, opts, &block) 38 else 39 synchronize(opts[:server]){|conn| _execute(conn, sql, opts, &block)} 40 end 41 end
Private Instance Methods
add_prepared_statements_cache(conn)
click to toggle source
# File lib/sequel/adapters/utils/mysql_mysql2.rb 45 def add_prepared_statements_cache(conn) 46 class << conn 47 attr_accessor :prepared_statements 48 end 49 conn.prepared_statements = {} 50 end
database_specific_error_class(exception, opts)
click to toggle source
Calls superclass method
# File lib/sequel/adapters/utils/mysql_mysql2.rb 52 def database_specific_error_class(exception, opts) 53 case exception.errno 54 when 1048 55 NotNullConstraintViolation 56 when 1062 57 UniqueConstraintViolation 58 when 1451, 1452, 1216, 1217 59 ForeignKeyConstraintViolation 60 when 4025 61 CheckConstraintViolation 62 when 1205 63 DatabaseLockTimeout 64 else 65 super 66 end 67 end