class ActiveRecord::ConnectionAdapters::AuroraServerlessAdapter
Public Class Methods
name()
click to toggle source
# File lib/active_record/connection_adapters/aurora_serverless/mysql2.rb, line 12 def self.name 'Mysql2Adapter' end
Public Instance Methods
mysql2_connection(config)
click to toggle source
# File lib/active_record/connection_adapters/aurora_serverless/mysql2.rb, line 16 def mysql2_connection(config) aurora_serverless_connection(config) end
supports_advisory_locks?()
click to toggle source
Abstract Mysql Adapter
# File lib/active_record/connection_adapters/aurora_serverless/mysql2.rb, line 22 def supports_advisory_locks? false end
Private Instance Methods
combine_multi_statements(total_sql)
click to toggle source
# File lib/active_record/connection_adapters/aurora_serverless/mysql2.rb, line 80 def combine_multi_statements(total_sql) total_sql end
connect()
click to toggle source
# File lib/active_record/connection_adapters/aurora_serverless/mysql2.rb, line 29 def connect @connection = ConnectionHandling.aurora_serverless_connection_from_config(@config) configure_connection end
execute_batch(sql, name = nil)
click to toggle source
Database Statements
# File lib/active_record/connection_adapters/aurora_serverless/mysql2.rb, line 68 def execute_batch(sql, name = nil) execute(sql, name) end
max_allowed_packet()
click to toggle source
# File lib/active_record/connection_adapters/aurora_serverless/mysql2.rb, line 84 def max_allowed_packet 65536 end
multi_statements_enabled?(flags)
click to toggle source
# File lib/active_record/connection_adapters/aurora_serverless/mysql2.rb, line 72 def multi_statements_enabled?(flags) false end
translate_exception(exception, message:, sql:, binds:)
click to toggle source
Abstract Mysql Adapter
# File lib/active_record/connection_adapters/aurora_serverless/mysql2.rb, line 36 def translate_exception(exception, message:, sql:, binds:) msg = exception.message case msg when /Duplicate entry/ RecordNotUnique.new(msg, sql: sql, binds: binds) when /foreign key constraint fails/ InvalidForeignKey.new(msg, sql: sql, binds: binds) when /Cannot add foreign key constraint/, /referenced column .* in foreign key constraint .* are incompatible/ mismatched_foreign_key(msg, sql: sql, binds: binds) when /Data too long for column/ ValueTooLong.new(msg, sql: sql, binds: binds) when /Out of range value for column/ RangeError.new(msg, sql: sql, binds: binds) when /Column .* cannot be null/, /Field .* doesn't have a default value/ NotNullViolation.new(msg, sql: sql, binds: binds) when /Deadlock found when trying to get lock/ Deadlocked.new(msg, sql: sql, binds: binds) when /Lock wait timeout exceeded/ LockWaitTimeout.new(msg, sql: sql, binds: binds) when /max_statement_time exceeded/, /Sort aborted/ StatementTimeout.new(msg, sql: sql, binds: binds) when /Query execution was interrupted/ QueryCanceled.new(msg, sql: sql, binds: binds) else ActiveRecord::StatementInvalid.new(msg, sql: sql, binds: binds) end end
with_multi_statements() { || ... }
click to toggle source
# File lib/active_record/connection_adapters/aurora_serverless/mysql2.rb, line 76 def with_multi_statements yield end