15275: Checks for jsonb types changes by comparing deserialized values.
authorLucas Di Pentima <ldipentima@veritasgenetics.com>
Fri, 24 May 2019 21:11:23 +0000 (18:11 -0300)
committerLucas Di Pentima <ldipentima@veritasgenetics.com>
Fri, 24 May 2019 21:11:23 +0000 (18:11 -0300)
Arvados-DCO-1.1-Signed-off-by: Lucas Di Pentima <ldipentima@veritasgenetics.com>

services/api/app/models/jsonb_type.rb

index 3f296be55003328f0aa2f81a396256bf89e72297..02746f64d4cc56bafe1ee429a2ecf4d4ec0049c6 100644 (file)
@@ -12,6 +12,12 @@ class JsonbType
       nil
     end
 
+    def changed_in_place?(raw_old_value, value)
+      # Compare deserialized values for correctness, checking serialized values
+      # may include changes in ordering, inline whitespaces, etc.
+      deserialize(raw_old_value) != value
+    end
+
     def deserialize(value)
       if value.nil?
         self.default_value