Re: Custom Operators Cannot be Found for Composite Type Values
| От | Andrew Dunstan |
|---|---|
| Тема | Re: Custom Operators Cannot be Found for Composite Type Values |
| Дата | |
| Msg-id | 4F59080C.1060201@dunslane.net обсуждение исходный текст |
| Ответ на | Re: Custom Operators Cannot be Found for Composite Type Values (Tom Lane <tgl@sss.pgh.pa.us>) |
| Ответы |
Re: Custom Operators Cannot be Found for Composite Type
Values
|
| Список | pgsql-hackers |
On 03/08/2012 02:16 PM, Tom Lane wrote:
> "David E. Wheeler"<david@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
В списке pgsql-hackers по дате отправления: