[PATCH] Generic type subscripting

From: Dmitry Dolgov <9erthalion6(at)gmail(dot)com>
To: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: [PATCH] Generic type subscripting
Date: 2017-02-28 18:02:02
Message-ID: CA+q6zcVovR+XY4mfk-7oNk-rF91gH0PebnNfuUjuuDsyHjOcVA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox
Lists: pgsql-hackers

Hi all

Regarding to the previous conversation [1], here is the patch for generic
subscripting with several improvements. It contains the following changes:

* Subscripting node was separated into `SubscriptingRef` (only for data
extraction) and `SubscriptingAssignRef` (only for assignment), and common
data for both nodes is stored in `SubscriptingBase`. When it did make
sense, I
also separated correlated pieces of code. Common code for both nodes works
with `SubscriptingRef`.

* Type related logic is separated into several functions, and the purpose of
procedures like `jsonb_subscripting`/`array_subscripting` now is just to
generate proper node with a correct function oid (I also tried to use a
function pointer instead of a function oid, and it worked for me in
case, but I'm not sure if it will be ok for `_outSubscriptingRef` and

* Function signatures are fixed.

* Functions for type dependent logic are going to be properly verified
(where I
found out such places, e.g. for `check_functions_in_node`)

The only thing left is separated typmod and collation. But since it's
only for future data types, and there is already big enough list of changes
from previous version of this patch, I think it would be great to discuss
it now and
implement this feature little bit later.

Generally speaking functionality, which has been implemented in this patch,
the same. Code itself is little bit clumsy I guess (looks like I need to
`SubscriptingRef` to something shorter), but I hope I can refine it soon

As always, any feedback is welcome.


Attachment Content-Type Size
generic_type_subscription_v7.patch text/x-patch 217.4 KB


Browse pgsql-hackers by date

  From Date Subject
Next Message Simon Riggs 2017-02-28 18:14:41 Re: Should we cacheline align PGXACT?
Previous Message Simon Riggs 2017-02-28 17:54:58 Re: avoid bloat from CREATE INDEX CONCURRENTLY