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 25 def call_sproc(name, opts=OPTS, &block) 26 args = opts[:args] || [] 27 execute("CALL #{name}#{args.empty? ? '()' : literal(args)}", opts.merge(:sproc=>false), &block) 28 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 32 def execute(sql, opts=OPTS, &block) 33 if opts[:sproc] 34 call_sproc(sql, opts, &block) 35 elsif sql.is_a?(Symbol) 36 execute_prepared_statement(sql, opts, &block) 37 else 38 synchronize(opts[:server]){|conn| _execute(conn, sql, opts, &block)} 39 end 40 end
Private Instance Methods
add_prepared_statements_cache(conn)
click to toggle source
# File lib/sequel/adapters/utils/mysql_mysql2.rb 44 def add_prepared_statements_cache(conn) 45 class << conn 46 attr_accessor :prepared_statements 47 end 48 conn.prepared_statements = {} 49 end
database_specific_error_class(exception, opts)
click to toggle source
Calls superclass method
# File lib/sequel/adapters/utils/mysql_mysql2.rb 51 def database_specific_error_class(exception, opts) 52 case exception.errno 53 when 1048 54 NotNullConstraintViolation 55 when 1062 56 UniqueConstraintViolation 57 when 1451, 1452 58 ForeignKeyConstraintViolation 59 when 4025 60 CheckConstraintViolation 61 else 62 super 63 end 64 end