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)
commit5a085e77e42d1f6bf5031843d4c85136abd293e9
tree8149e3cf7a1824cf5181f8a6496b498456d07bee
parent120c22d27c6e5b1a2b93bb13749bfc310bf7218c
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