Re: [HACKERS] [PATCH] Generic type subscripting

Dian Fay <dian.m.fay@gmail.com>

From: "Dian M Fay" <dian.m.fay@gmail.com>
To: "Pavel Stehule" <pavel.stehule@gmail.com>, "Dmitry Dolgov" <9erthalion6@gmail.com>
Cc: "Tom Lane" <tgl@sss.pgh.pa.us>, "Andres Freund" <andres@anarazel.de>, "Alexander Korotkov" <aekorotkov@gmail.com>, "Justin Pryzby" <pryzby@telsasoft.com>, "David Steele" <david@pgmasters.net>, "Nikita Glukhov" <n.gluhov@postgrespro.ru>, "Alvaro Herrera" <alvherre@2ndquadrant.com>, "David Fetter" <david@fetter.org>, "Thomas Munro" <thomas.munro@gmail.com>, "Oleksandr Shulgin" <oleksandr.shulgin@zalando.de>, "Robert Haas" <robertmhaas@gmail.com>, "Michael Paquier" <michael.paquier@gmail.com>, "Oleg Bartunov" <obartunov@gmail.com>, "Peter Eisentraut" <peter.eisentraut@2ndquadrant.com>, "PostgreSQL Hackers" <pgsql-hackers@postgresql.org>
Date: 2021-01-20T14:58:43Z
Lists: pgsql-hackers

Attachments

On Tue Jan 19, 2021 at 1:42 PM EST, Pavel Stehule wrote:
> Hi
>
> I found minor issues.
>
> Doc - missing tag
>
> and three whitespaces issues
>
> see attached patch
>
> Following sentence is hard to read due long nested example
>
> If the
> + path contradicts structure of modified <type>jsonb</type> for any
> individual
> + value (e.g. path <literal>val['a']['b']['c']</literal> assumes keys
> + <literal>'a'</literal> and <literal>'b'</literal> have object values
> + assigned to them, but if <literal>val['a']</literal> or
> + <literal>val['b']</literal> is null, a string, or a number, then the
> path
> + contradicts with the existing structure), an error is raised even if
> other
> + values do conform.
>
> It can be divided into two sentences - predicate, and example.
>
> Regards
>
> Pavel

Here's a full editing pass on the documentation, with v45 and Pavel's
doc-whitespaces-fix.patch applied. I also corrected a typo in one of the
added hints.

Commits

  1. Throw error when assigning jsonb scalar instead of a composite object

  2. Filling array gaps during jsonb subscripting

  3. Implementation of subscripting for jsonb

  4. Allow ALTER TYPE to update an existing type's typsubscript value.

  5. Allow subscripting of hstore values.

  6. Support subscripting of arbitrary types, not only arrays.

  7. jit: Reference function pointer types via llvmjit_types.c.

  8. Teach contain_leaked_vars that assignment SubscriptingRefs are leaky.

  9. jit: Correct parameter type for generated expression evaluation functions.

  10. Renaming for new subscripting mechanism

  11. Fix assertion failure for SSL connections.

  12. Teach eval_const_expressions() to handle some more cases.