From: glyn <glyn@8kb.co.uk>
Date: Mon, 19 Jan 2015 08:49:25 +0000 (+0000)
Subject: Use to_json rather than concatenating strings in where clause
X-Git-Url: https://git.8kb.co.uk/?a=commitdiff_plain;h=263aa2ca57f58c294adb05ba51649dd7c6edc14f;p=postgresql%2Fpg_jsonb_delete_op

Use to_json rather than concatenating strings in where clause
---

diff --git a/pg_jsonb_delete_op.sql b/pg_jsonb_delete_op.sql
index 5d6473b..1d52515 100755
--- a/pg_jsonb_delete_op.sql
+++ b/pg_jsonb_delete_op.sql
@@ -12,7 +12,7 @@ $BODY$
         (
             SELECT ('{' || string_agg(to_json(key) || ':' || value, ',') || '}')
             FROM jsonb_each(a)
-            WHERE NOT ('{"' || key || '":' || value || '}')::jsonb ? b
+            WHERE NOT to_json(key || ':' || value)::jsonb ? b
         )
     , '{}')::jsonb;
 $BODY$
@@ -31,7 +31,7 @@ $BODY$
         (
             SELECT ('{' || string_agg(to_json(key) || ':' || value, ',') || '}')
             FROM jsonb_each(a)
-            WHERE NOT ('{"' || key || '":' || value || '}')::jsonb ?| b
+            WHERE NOT to_json(key || ':' || value)::jsonb ?| b
         )
     , '{}')::jsonb;
 $BODY$
@@ -50,7 +50,7 @@ $BODY$
         (
             SELECT ('{' || string_agg(to_json(key) || ':' || value, ',') || '}')
             FROM jsonb_each(a)
-            WHERE NOT ('{"' || key || '":' || value || '}')::jsonb <@ b
+            WHERE NOT to_json(key || ':' || value)::jsonb <@ b
         )
     , '{}')::jsonb;
 $BODY$