Change the row constructor syntax (ROW(...)) so that list elements foo.*
authorTom Lane <tgl@sss.pgh.pa.us>
Mon, 26 Jun 2006 17:24:41 +0000 (17:24 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Mon, 26 Jun 2006 17:24:41 +0000 (17:24 +0000)
commitca0d2197ca1ed1e72243c5a3466d93e4954d30b0
tree504e97d13b6403683d46c8285dfeb66dcc0ed305
parent4b98d423d77682308423ed3c4470b741f08f7b23
Change the row constructor syntax (ROW(...)) so that list elements foo.*
will be expanded to a list of their member fields, rather than creating
a nested rowtype field as formerly.  (The old behavior is still available
by omitting '.*'.)  This syntax is not allowed by the SQL spec AFAICS,
so changing its behavior doesn't violate the spec.  The new behavior is
substantially more useful since it allows, for example, triggers to check
for data changes with 'if row(new.*) is distinct from row(old.*)'.  Per
my recent proposal.
doc/src/sgml/syntax.sgml
src/backend/parser/parse_expr.c
src/backend/parser/parse_target.c
src/include/parser/parse_target.h
src/test/regress/expected/triggers.out
src/test/regress/sql/triggers.sql