Re: [Bug Fix] ECPG: could not use set xxx to default statement
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: "Higuchi, Daisuke" <higuchi.daisuke@jp.fujitsu.com>
Cc: pgsql-hackers@lists.postgresql.org, Michael Meskes <meskes@postgresql.org>
Date: 2019-02-19T05:05:01Z
Lists: pgsql-hackers
I wrote:
> "Higuchi, Daisuke" <higuchi.daisuke@jp.fujitsu.com> writes:
>> [ missing semicolon in gram.y breaks ecpg parsing of same construct ]
> That's pretty nasty. The fix in gram.y is certainly needed, but I'm
> unexcited by the regression test additions you propose. What I really
> want to know is why a syntax error in gram.y wasn't detected by any
> of the tools we use,
Ugh ... the Bison NEWS file has this:
* Changes in version 1.875, 2003-01-01:
...
- Semicolons are once again optional at the end of grammar rules.
This reverts to the behavior of Bison 1.33 and earlier, and improves
compatibility with Yacc.
I'd remembered how we had to run around and insert semicolons to satisfy
Bison 1.3-something, and supposed that that restriction still held.
But it doesn't. It seems though that our conversion script for creating
preproc.y depends on there being semicolons.
I think we need to fix that script to either cope with missing semicolons,
or at least complain about them. Too tired to look into how, right now.
regards, tom lane
Commits
-
Fix ecpg bugs caused by missing semicolons in the backend grammar.
- 53c2bb78db9f 9.4.22 landed
- 3a682a21b7f9 9.5.17 landed
- de94ed89d5b0 11.3 landed
- 9e138a401d19 12.0 landed
- 904fce2a7695 9.6.13 landed
- 8ec638e69c01 10.8 landed