OSDN Git Service

Add a "USING" clause to DELETE, which is equivalent to the FROM clause
authorNeil Conway <neilc@samurai.com>
Thu, 7 Apr 2005 01:51:41 +0000 (01:51 +0000)
committerNeil Conway <neilc@samurai.com>
Thu, 7 Apr 2005 01:51:41 +0000 (01:51 +0000)
commitf5ab0a14ea83eb6c27196b0c5d600b7f8b8b75fc
tree3a40f9e70af0338c3dd1210b859f1a7445a40e6c
parentbe2f825d51176bd21a627a529476f94de5bad4c2
Add a "USING" clause to DELETE, which is equivalent to the FROM clause
in UPDATE. We also now issue a NOTICE if a query has _any_ implicit
range table entries -- in the past, we would only warn about implicit
RTEs in SELECTs with at least one explicit RTE.

As a result of the warning change, 25 of the regression tests had to
be updated. I also took the opportunity to remove some bogus whitespace
differences between some of the float4 and float8 variants. I believe
I have correctly updated all the platform-specific variants, but let
me know if that's not the case.

Original patch for DELETE ... USING from Euler Taveira de Oliveira,
reworked by Neil Conway.
68 files changed:
doc/src/sgml/ref/delete.sgml
src/backend/nodes/copyfuncs.c
src/backend/nodes/equalfuncs.c
src/backend/parser/analyze.c
src/backend/parser/gram.y
src/backend/parser/parse_relation.c
src/backend/utils/adt/ruleutils.c
src/bin/psql/tab-complete.c
src/include/nodes/parsenodes.h
src/test/regress/expected/abstime.out
src/test/regress/expected/boolean.out
src/test/regress/expected/box.out
src/test/regress/expected/char.out
src/test/regress/expected/char_1.out
src/test/regress/expected/create_misc.out
src/test/regress/expected/create_view.out
src/test/regress/expected/float4-exp-three-digits.out
src/test/regress/expected/float4.out
src/test/regress/expected/float8-exp-three-digits-win32.out
src/test/regress/expected/float8-exp-three-digits.out
src/test/regress/expected/float8-small-is-zero.out
src/test/regress/expected/float8-small-is-zero_1.out
src/test/regress/expected/float8.out
src/test/regress/expected/hash_index.out
src/test/regress/expected/horology.out
src/test/regress/expected/int2.out
src/test/regress/expected/int4.out
src/test/regress/expected/interval.out
src/test/regress/expected/join.out
src/test/regress/expected/join_1.out
src/test/regress/expected/name.out
src/test/regress/expected/oid.out
src/test/regress/expected/point.out
src/test/regress/expected/polygon.out
src/test/regress/expected/privileges.out
src/test/regress/expected/reltime.out
src/test/regress/expected/rules.out
src/test/regress/expected/select.out
src/test/regress/expected/tinterval.out
src/test/regress/expected/transactions.out
src/test/regress/expected/varchar.out
src/test/regress/expected/varchar_1.out
src/test/regress/input/misc.source
src/test/regress/sql/abstime.sql
src/test/regress/sql/boolean.sql
src/test/regress/sql/box.sql
src/test/regress/sql/char.sql
src/test/regress/sql/create_misc.sql
src/test/regress/sql/create_view.sql
src/test/regress/sql/float4.sql
src/test/regress/sql/float8.sql
src/test/regress/sql/hash_index.sql
src/test/regress/sql/horology.sql
src/test/regress/sql/int2.sql
src/test/regress/sql/int4.sql
src/test/regress/sql/interval.sql
src/test/regress/sql/join.sql
src/test/regress/sql/name.sql
src/test/regress/sql/oid.sql
src/test/regress/sql/point.sql
src/test/regress/sql/polygon.sql
src/test/regress/sql/privileges.sql
src/test/regress/sql/reltime.sql
src/test/regress/sql/rules.sql
src/test/regress/sql/select.sql
src/test/regress/sql/tinterval.sql
src/test/regress/sql/transactions.sql
src/test/regress/sql/varchar.sql