1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00

Merge pull request #34227 from bkuhlmann/master-lazy_mysql_version_check_support

Refactored abstract MySQL adapter to support lazy version check.
This commit is contained in:
Aaron Patterson 2018-10-16 13:34:41 -07:00 committed by GitHub
commit e53acfde0f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -26,6 +26,7 @@ module ActiveRecord
# ActiveRecord::ConnectionAdapters::Mysql2Adapter.emulate_booleans = false
class_attribute :emulate_booleans, default: true
SUPPORTED_VERSION = "5.5.8"
NATIVE_DATABASE_TYPES = {
primary_key: "bigint auto_increment PRIMARY KEY",
string: { name: "varchar", limit: 255 },
@ -54,10 +55,7 @@ module ActiveRecord
super(connection, logger, config)
@statements = StatementPool.new(self.class.type_cast_config_to_integer(config[:statement_limit]))
if version < "5.5.8"
raise "Your version of MySQL (#{version_string}) is too old. Active Record supports MySQL >= 5.5.8."
end
check_version
end
def version #:nodoc:
@ -534,6 +532,15 @@ module ActiveRecord
end
end
protected
def check_version
if version < SUPPORTED_VERSION
raise "Your version of MySQL (#{version_string}) is too old. Active Record supports " \
"MySQL >= #{SUPPORTED_VERSION}."
end
end
private
def combine_multi_statements(total_sql)
total_sql.each_with_object([]) do |sql, total_sql_chunks|