Re: Assertions in PL/PgSQL
От | Hannu Krosing |
---|---|
Тема | Re: Assertions in PL/PgSQL |
Дата | |
Msg-id | 523C4E26.2050908@2ndQuadrant.com обсуждение исходный текст |
Ответ на | Re: Assertions in PL/PgSQL (Robert Haas <robertmhaas@gmail.com>) |
Список | pgsql-hackers |
On 09/20/2013 01:59 PM, Robert Haas wrote: > The other part of the problem is that the language isn't designed from > the beginning to be extensible. In Perl, for example, they chose to > mark variables with a leading $, @, or % and functions with a leading > &. That last marking has largely fallen into desuetude, but the point > is that - to the extent that you do have and use such markers - you > can add new keywords without breaking anything. Some languages can > also distinguish keywords positionally; for example, ABORT doesn't > need to be reserved in PostgreSQL's SQL dialect because it can only > appear as a command at the beginning of a line, and it can't be a > column, type, or function name in that position. Such an approach > might even work ASSERT in PL/pgsql, if there's a clean way to > disambiguate vs. the assignment syntax. But even if we can make that > work, we're going to continue to face this problem with each new > language extension. > Perhaps we could use the pragma approach here and add some types of new functionality in omments --#ASSERT ..... or even --#pragma ASSERT ..... It is still not guaranteed to be 100% compatible, but at least changing comments should be relatively safe way for fixing your functions And you could have another pragma to disable some pragmas which you could SET in GUC (global, session or per function) for extra ugliness ;) -- Hannu Krosing PostgreSQL Consultant Performance, Scalability and High Availability 2ndQuadrant Nordic OÜ
В списке pgsql-hackers по дате отправления: