On Sat, Jun 4, 2022 at 12:37 AM Tom Lane <t...@sss.pgh.pa.us> wrote: > Bryn Llewellyn <b...@yugabyte.com> writes: > > I'm going to try to think like this: > > The number of possible spellings of the names of keys in a JSON object > is some flavor of infinite. So including this in an object: > > "k": null > > really is saying something. It says that I do know about "k" and that > yet I have simply no information available about its value. > > I'd read it as asserting that key "k" is meaningful for this object, > but the correct value for that key is not known. > > I have a hard time with your assertion that {"x": 42, "y": null} > should be considered equivalent to {"x": 42}, because it would > render key-exists predicates useless. Either you have to say that > key "y" is claimed to exist in both of these objects and indeed every > object, or you have to make it fail if the key's value is null (so that > it'd say "false" in both of these cases). Either of those options > seems both weird and useless. >
yeah. I would expect for json or jsonb, two values, a, b, a is distinct from b should give the same answer as a::text is distinct from b::text merlin