Bryn Llewellyn <bryn@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,