class ActiveRecord::ConnectionAdapters::PerconaMigratorAdapter
Constants
- ADAPTER_NAME
Attributes
mysql_adapter[R]
Public Class Methods
new(connection, _logger, connection_options, _config)
click to toggle source
Calls superclass method
# File lib/active_record/connection_adapters/percona_adapter.rb, line 56 def initialize(connection, _logger, connection_options, _config) super @prepared_statements = false @mysql_adapter = connection_options[:mysql_adapter] end
Public Instance Methods
add_index(table_name, column_name, options = {})
click to toggle source
Adds a new index to the table
@param table_name [String, Symbol] @param column_name [String, Symbol] @param options [Hash] optional
# File lib/active_record/connection_adapters/percona_adapter.rb, line 103 def add_index(table_name, column_name, options = {}) index_name, index_type, index_columns, index_options = add_index_options(table_name, column_name, options) execute "ALTER TABLE #{quote_table_name(table_name)} ADD #{index_type} INDEX #{quote_column_name(index_name)} (#{index_columns})#{index_options}" end
error_number(_exception)
click to toggle source
Returns the MySQL error number from the exception. The AbstractMysqlAdapter requires it to be implemented
# File lib/active_record/connection_adapters/percona_adapter.rb, line 119 def error_number(_exception) end
exec_delete(sql, name, binds)
click to toggle source
# File lib/active_record/connection_adapters/percona_adapter.rb, line 62 def exec_delete(sql, name, binds) execute(to_sql(sql, binds), name) @connection.affected_rows end
Also aliased as: exec_update
exec_insert(sql, name, binds, pk = nil, sequence_name = nil)
click to toggle source
# File lib/active_record/connection_adapters/percona_adapter.rb, line 68 def exec_insert(sql, name, binds, pk = nil, sequence_name = nil) execute(to_sql(sql, binds), name) end
exec_query(sql, name = 'SQL', _binds = [])
click to toggle source
# File lib/active_record/connection_adapters/percona_adapter.rb, line 72 def exec_query(sql, name = 'SQL', _binds = []) result = execute(sql, name) ActiveRecord::Result.new(result.fields, result.to_a) end
full_version()
click to toggle source
# File lib/active_record/connection_adapters/percona_adapter.rb, line 122 def full_version mysql_adapter.raw_connection.server_info[:version] end
new_column(field, default, cast_type, sql_type = nil, null = true, collation = '', extra = '')
click to toggle source
# File lib/active_record/connection_adapters/percona_adapter.rb, line 94 def new_column(field, default, cast_type, sql_type = nil, null = true, collation = '', extra = '') Column.new(field, default, cast_type, sql_type, null, collation, strict_mode?, extra) end
remove_index(table_name, options = {})
click to toggle source
Remove the given index from the table.
@param table_name [String, Symbol] @param options [Hash] optional
# File lib/active_record/connection_adapters/percona_adapter.rb, line 112 def remove_index(table_name, options = {}) index_name = index_name_for_remove(table_name, options) execute "ALTER TABLE #{quote_table_name(table_name)} DROP INDEX #{quote_column_name(index_name)}" end
select(sql, name = nil, binds = [])
click to toggle source
Executes a SELECT query and returns an array of record hashes with the column names as keys and column values as values.
# File lib/active_record/connection_adapters/percona_adapter.rb, line 85 def select(sql, name = nil, binds = []) exec_query(sql, name, binds) end
select_rows(sql, name = nil)
click to toggle source
Executes a SELECT query and returns an array of rows. Each row is an array of field values.
# File lib/active_record/connection_adapters/percona_adapter.rb, line 79 def select_rows(sql, name = nil) execute(sql, name).to_a end
supports_migrations?()
click to toggle source
Returns true, as this adapter supports migrations
# File lib/active_record/connection_adapters/percona_adapter.rb, line 90 def supports_migrations? true end