aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb
diff options
context:
space:
mode:
authorJori Hardman <jorihardman@gmail.com>2015-06-29 11:37:05 -0500
committerJori Hardman <jorihardman@gmail.com>2015-07-20 15:30:10 -0500
commite975d7cd1a6cb177f914024ffec8dd9a6cdc4ba1 (patch)
tree8784c5f481816c0706545edb057caef62d9e94a1 /activerecord/lib/active_record/connection_adapters/abstract_adapter.rb
parenta2bb266a7f546edfba8e82e75f1f01bb359f7bbd (diff)
downloadrails-e975d7cd1a6cb177f914024ffec8dd9a6cdc4ba1.tar.gz
rails-e975d7cd1a6cb177f914024ffec8dd9a6cdc4ba1.tar.bz2
rails-e975d7cd1a6cb177f914024ffec8dd9a6cdc4ba1.zip
Ensure that microsecond precision is only used for version of mysql that support it. Fixes #19711
Diffstat (limited to 'activerecord/lib/active_record/connection_adapters/abstract_adapter.rb')
-rw-r--r--activerecord/lib/active_record/connection_adapters/abstract_adapter.rb12
1 files changed, 12 insertions, 0 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb b/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb
index 6d3a21a3dc..56227ddd80 100644
--- a/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb
+++ b/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb
@@ -107,6 +107,18 @@ module ActiveRecord
@prepared_statements = false
end
+ class Version
+ include Comparable
+
+ def initialize(version_string)
+ @version = version_string.split('.').map(&:to_i)
+ end
+
+ def <=>(version_string)
+ @version <=> version_string.split('.').map(&:to_i)
+ end
+ end
+
class BindCollector < Arel::Collectors::Bind
def compile(bvs, conn)
casted_binds = conn.prepare_binds_for_database(bvs)