Обсуждение: Ambiguous statement about order

Поиск
Список
Период
Сортировка

Ambiguous statement about order

От
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.

Ambiguous statement about order

От
"David G. Johnston"
Дата:
On Thursday, September 14, 2023, PG Doc comments form <noreply@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.