Ambiguous statement about order

2023-09-15 Thread David G. Johnston
On Thursday, September 14, 2023, PG Doc comments form <
nore...@postgresql.org> wrote:
>
> I observed that arrays inside JSONB preserved order of insertion. An
> explicit line about whether the array order will be preserved or not would
> be helpful.


We don’t take on responsibility for teaching people what json is.  Json
arrays are slotted composite elements where the slots are numerically
indexed.  That, by definition, makes their contents “ordered”.  The fact
that object keys are unordered and that arrays can be object keys is
immaterial to whether the contents of arrays are ordered.

David J.


Ambiguous statement about order

2023-09-15 Thread PG Doc comments form
The following documentation comment has been logged on the website:

Page: https://www.postgresql.org/docs/15/datatype-json.html
Description:

The following statement in the page doesn't speak about arrays which created
some confusion with developers in our company:
"By contrast, jsonb does not preserve white space, does not preserve the
order of object keys, and does not keep duplicate object keys. If duplicate
keys are specified in the input, only the last value is kept."

The reason that caused confusion was some developers argued object keys
include arrays.

What added to the ambiguity is another line (a footnote):
"For this purpose, the term “value” includes array elements, though JSON
terminology sometimes considers array elements distinct from values within
objects."

I understand that it is only related to containment test. But it was causing
confusion with others.

I observed that arrays inside JSONB preserved order of insertion. An
explicit line about whether the array order will be preserved or not would
be helpful.