On 03/08/2012 02:16 PM, Tom Lane wrote:
"David E. Wheeler"<da...@justatheory.com>  writes:
     CREATE OPERATOR CLASS json_ops
     DEFAULT FOR TYPE JSON USING btree AS
     OPERATOR    3   =  (json, json),
     FUNCTION    1   json_cmp(json, json);
This seems to work.
Urk.  You really ought to provide the whole opclass (all 5 operators).
I'm not sure what will blow up if you leave it like that, but it won't
be pretty.

Yeah. Note too that this is at best dubious:

    CREATE OR REPLACE FUNCTION json_cmp(
        json,
        json
    ) RETURNS INTEGER LANGUAGE SQL STRICT IMMUTABLE AS $$
        SELECT bttextcmp($1::text, $2::text);
    $$;


Two pieces of JSON might well be textually different but semantically identical (e.g. by one having additional non-semantic whitespace).


cheers

andrew

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to