Re: [PATCH] Generic type subscription
Dmitry Dolgov <9erthalion6@gmail.com>
From: Dmitry Dolgov <9erthalion6@gmail.com>
To: Artur Zakirov <a.zakirov@postgrespro.ru>
Cc: Aleksander Alekseev <a.alekseev@postgrespro.ru>, PostgreSQL-development <pgsql-hackers@postgresql.org>,
Victor Wagner <vitus@wagner.pp.ru>, Haribabu Kommi <kommi.haribabu@gmail.com>
Date: 2017-01-08T09:36:32Z
Lists: pgsql-hackers
> On 4 January 2017 at 18:06, Artur Zakirov <a.zakirov@postgrespro.ru> wrote: > But I'm not convinced about how to distinguish ArrayRef node with new > SubscriptingRef node. I'm not sure I understood you correctly. You're talking about having two nodes `ArrayRef` and `SubscriptingRef` at the same time for the sake of backward compatibility, am I right? But they're basically the same, since `SubscriptingRef` name is used just to indicate more general purpose of this node. > Also Tom pointed that he had bad experience with using ArrayRef node: Yes, but it was related to the idea of having `ArrayRef` and `JsonbRef` nodes for specific types. Since now there is generic `SubscriptingRef` node, I think it should be ok. >> Hm...I already answered, that I managed to avoid compilation problems for >> this particular extension using the `genparser` command again: > I suppose that a separate node type could solve it. Just to be clear - as far as I understood, these compilation problems were caused not because the extension knew something about ArrayRef node in particular, but because the extension tried to extract all nodes to generate code from them. It means any change will require "refetching", so I think it's natural for this extension.
Commits
-
Throw error when assigning jsonb scalar instead of a composite object
- aa6e46daf530 14.0 landed
-
Filling array gaps during jsonb subscripting
- 81fcc72e6622 14.0 landed
-
Implementation of subscripting for jsonb
- 676887a3b0b8 14.0 landed
-
Support subscripting of arbitrary types, not only arrays.
- c7aba7c14efd 14.0 landed
-
Remove obsoleted code relating to targetlist SRF evaluation.
- ea15e18677fc 10.0 cited
-
Include <sys/select.h> where needed
- 51c3e9fade76 10.0 cited