]> granicus.if.org Git - postgresql/commit
Fix LATERAL references to target table of UPDATE/DELETE.
authorTom Lane <tgl@sss.pgh.pa.us>
Tue, 7 Jan 2014 20:25:16 +0000 (15:25 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Tue, 7 Jan 2014 20:25:27 +0000 (15:25 -0500)
commit0c051c90082da0b7e5bcaf9aabcbd4f361137cdc
tree457a1ae1db6b3f135f7a56a6d3512916687b7d34
parentf68220df92cb56f0452919f51eeef16262ec8f3b
Fix LATERAL references to target table of UPDATE/DELETE.

I failed to think much about UPDATE/DELETE when implementing LATERAL :-(.
The implemented behavior ended up being that subqueries in the FROM or
USING clause (respectively) could access the update/delete target table as
though it were a lateral reference; which seems fine if they said LATERAL,
but certainly ought to draw an error if they didn't.  Fix it so you get a
suitable error when you omit LATERAL.  Per report from Emre Hasegeli.
src/backend/parser/analyze.c
src/backend/parser/parse_clause.c
src/backend/parser/parse_relation.c
src/test/regress/expected/join.out
src/test/regress/sql/join.sql