2016-12-27 14:42 GMT+05:00 Dmitry Dolgov <9erthalion6@gmail.com>:
>> On 27 December 2016 at 16:09, Aleksander Alekseev
>> <a.alekseev@postgrespro.ru> wrote:
>> until it breaks existing extensions.
>
> 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. But I'm not
convinced about how to distinguish ArrayRef node with new
SubscriptingRef node. Maybe it could be done in the
transformIndirection() function. If I understand all correctly.
Also Tom pointed that he had bad experience with using ArrayRef node:
https://www.postgresql.org/message-id/518.1439846343%40sss.pgh.pa.us
> No. Make a new expression node type.
>
> (Salesforce did something similar for an internal feature, and it was a
> disaster both for code modularity and performance. We had to change it to
> a separate node type, which I just got finished doing. Don't go down that
> path. While you're at it, I'd advise that fetch and assignment be two
> different node types rather than copying ArrayRef's bad precedent of using
> only one.)
--
Artur Zakirov
Postgres Professional: http://www.postgrespro.com
Russian Postgres Company