Add tests for UNBOUNDED syntax ambiguity

Peter Eisentraut <peter.eisentraut@enterprisedb.com>

From: Peter Eisentraut <peter.eisentraut@enterprisedb.com>
To: pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2021-06-24T09:01:32Z
Lists: pgsql-hackers

Attachments

As many will be aware, there is a syntactic ambiguity in the SQL 
standard regarding the keyword UNBOUNDED.  Since UNBOUNDED is a 
non-reserved word, it could be the name of a function parameter and be 
used as an expression.  There is a grammar hack to resolve such cases as 
the keyword.

I brought this issue to the SQL standard working group, and a fix has 
been agreed.  (Since long-standing syntax obviously can't be changed, 
the fix is basically just an additional rule saying, "if you see this, 
it means the keyword".)  While working on that, I wrote a few test cases 
to explore this and check how PostgreSQL actually handles this.  I 
figure these test cases are worth committing so that we have a record of 
this and future grammar refactorings can maintain the behavior.

Commits

  1. Add tests for UNBOUNDED syntax ambiguity