aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/connection_adapters/postgresql/oid
diff options
context:
space:
mode:
authorRyuta Kamizono <kamipo@gmail.com>2017-03-07 16:42:14 +0900
committerRyuta Kamizono <kamipo@gmail.com>2017-05-30 05:02:33 +0900
commit71cd0659699a539ef8713faf776d12bef9ff0ce8 (patch)
tree99831c62dd5ff20c02a45c00bc3036ebdfcb9d2f /activerecord/lib/active_record/connection_adapters/postgresql/oid
parentcbf378bc2725afe55e81d74bf97be7d484309863 (diff)
downloadrails-71cd0659699a539ef8713faf776d12bef9ff0ce8.tar.gz
rails-71cd0659699a539ef8713faf776d12bef9ff0ce8.tar.bz2
rails-71cd0659699a539ef8713faf776d12bef9ff0ce8.zip
Deserialize a raw value from the database in `changed_in_place?` for `AbstractJson`
Structured type values sometimes caused representation problems (keys sort order, spaces, etc). A raw value from the database should be deserialized (normalized) to prevent the problems.
Diffstat (limited to 'activerecord/lib/active_record/connection_adapters/postgresql/oid')
-rw-r--r--activerecord/lib/active_record/connection_adapters/postgresql/oid/jsonb.rb10
1 files changed, 0 insertions, 10 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/postgresql/oid/jsonb.rb b/activerecord/lib/active_record/connection_adapters/postgresql/oid/jsonb.rb
index 87391b5dc7..705cb7f0b3 100644
--- a/activerecord/lib/active_record/connection_adapters/postgresql/oid/jsonb.rb
+++ b/activerecord/lib/active_record/connection_adapters/postgresql/oid/jsonb.rb
@@ -6,16 +6,6 @@ module ActiveRecord
def type
:jsonb
end
-
- def changed_in_place?(raw_old_value, new_value)
- # Postgres does not preserve insignificant whitespaces when
- # round-tripping jsonb columns. This causes some false positives for
- # the comparison here. Therefore, we need to parse and re-dump the
- # raw value here to ensure the insignificant whitespaces are
- # consistent with our encoder's output.
- raw_old_value = serialize(deserialize(raw_old_value))
- super(raw_old_value, new_value)
- end
end
end
end