Alvaro Herrera wrote:
> Peter Eisentraut wrote:
>
> > I would suggest that these changes be undone, except that the old
> > "SELECT FOR ..." be replaced by a dynamic string that reverse-parses the
> > LockingClause to provide the actual clause that was used.
>
> Here's a patch for this.
Pushed to 9.3 and master. Sample output:
alvherre=# select * from foo, bar for update of foof for share of bar;
ERROR: relation "foof" in FOR UPDATE clause not found in FROM clause
alvherre=# select * from foo, bar for update of foo for share of barf;
ERROR: relation "barf" in FOR SHARE clause not found in FROM clause
Amusingly, the only test in which these error messages appeared, in
contrib/file_fdw, was removed after the two commits that changed the
wording. So there's not a single test which needed to be tweaked for
this change.
--
Álvaro Herrera http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services