Re: Sanding down some edge cases for PL/pgSQL reserved words - Mailing list pgsql-hackers

From Pavel Stehule
Subject Re: Sanding down some edge cases for PL/pgSQL reserved words
Date
Msg-id CAFj8pRDP2jr4rT7E+z3Gf5vC+1xEKW39ng2Oe0Qr5+YRRbXyAw@mail.gmail.com
Whole thread Raw
In response to Re: Sanding down some edge cases for PL/pgSQL reserved words  (Pavel Stehule <pavel.stehule@gmail.com>)
Responses Re: Sanding down some edge cases for PL/pgSQL reserved words
List pgsql-hackers
Hi
 

2. That "has no field" error message is flat-out wrong.  The now-known
way to trigger it has a different cause, and what's more, we simply do
not know at this point whether the malleable record type has such a
field.  So in 0002 below I just changed it to assume that the problem
is a reserved field name.  We might find another way to reach that
failure in future, but I doubt that "has no field" would be the right
thing to say in any case.

The proposed patch is a zero invasive solution. But the question is why we cannot allow plpgsql reserved keywords in recfilds?

There should not be any collisions. Isn't there a better solution to modify plpgsql_yylex instead and allow all keywords after '.' ? Sure. It will be more invasive.

Is there some description of what keywords should be reserved? If I remember correctly, the scanner was changed more times, and maybe more reserved keywords are not necessary.

Regards

Pavel



Regards

Pavel
 



This is v19 material at this point, so I'll stick it on the CF queue.

                        regards, tom lane

[1] https://www.postgresql.org/message-id/flat/18693-65968418890877b4%40postgresql.org

pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Non-reproducible AIO failure
Next
From: Tom Lane
Date:
Subject: Re: pg_restore - cannot to restore blobs in dictionary format from older pg dumps