Thread

Commits

  1. Add tests for UNBOUNDED syntax ambiguity

  1. Add tests for UNBOUNDED syntax ambiguity

    Peter Eisentraut <peter.eisentraut@enterprisedb.com> — 2021-06-24T09:01:32Z

    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.
    
  2. Re: Add tests for UNBOUNDED syntax ambiguity

    Heikki Linnakangas <hlinnaka@iki.fi> — 2021-06-24T13:42:20Z

    On 24/06/2021 12:01, Peter Eisentraut wrote:
    > 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".)
    
    Nice!
    
    > 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.
    
    +1
    
    - Heikki