From e13ac306a09611c2d7f7e3ca813e8409d7dfc834 Mon Sep 17 00:00:00 2001 From: Sean Griffin Date: Tue, 28 Oct 2014 17:39:27 -0600 Subject: Implement hash equality on column The query cache uses bind values as hash keys. The current implementation relies on reference equality for hash equality. This is brittle, and can easily break in the future. --- activerecord/lib/active_record/connection_adapters/column.rb | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'activerecord/lib/active_record/connection_adapters/column.rb') diff --git a/activerecord/lib/active_record/connection_adapters/column.rb b/activerecord/lib/active_record/connection_adapters/column.rb index cdbcca3728..01f06af348 100644 --- a/activerecord/lib/active_record/connection_adapters/column.rb +++ b/activerecord/lib/active_record/connection_adapters/column.rb @@ -64,6 +64,11 @@ module ActiveRecord other.sql_type == sql_type && other.null == null end + alias :eql? :== + + def hash + [self.class, name, default, cast_type, sql_type, null].hash + end end end # :startdoc: -- cgit v1.2.3