aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record
diff options
context:
space:
mode:
authorAaron Patterson <tenderlove@github.com>2018-10-16 13:34:41 -0700
committerGitHub <noreply@github.com>2018-10-16 13:34:41 -0700
commite53acfde0ff233fb1d281119856595043bbf207e (patch)
tree997e87010c37a6ddac4d78db4b182314d54d685d /activerecord/lib/active_record
parent45b6ee6aa21945974361ab703ebf731a8ca75c24 (diff)
parente1f6821105a23fe4dc6e37903fb642a253e89e81 (diff)
downloadrails-e53acfde0ff233fb1d281119856595043bbf207e.tar.gz
rails-e53acfde0ff233fb1d281119856595043bbf207e.tar.bz2
rails-e53acfde0ff233fb1d281119856595043bbf207e.zip
Merge pull request #34227 from bkuhlmann/master-lazy_mysql_version_check_support
Refactored abstract MySQL adapter to support lazy version check.
Diffstat (limited to 'activerecord/lib/active_record')
-rw-r--r--activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb15
1 files changed, 11 insertions, 4 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb b/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb
index d40f38fb77..5ad3fdbb88 100644
--- a/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb
+++ b/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb
@@ -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|