Thread: pgsql: Change the row constructor syntax (ROW(...)) so that list
pgsql: Change the row constructor syntax (ROW(...)) so that list
From
tgl@postgresql.org (Tom Lane)
Date:
Log Message: ----------- 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. Modified Files: -------------- pgsql/doc/src/sgml: syntax.sgml (r1.106 -> r1.107) (http://developer.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/syntax.sgml.diff?r1=1.106&r2=1.107) pgsql/src/backend/parser: parse_expr.c (r1.192 -> r1.193) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/parser/parse_expr.c.diff?r1=1.192&r2=1.193) parse_target.c (r1.143 -> r1.144) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/parser/parse_target.c.diff?r1=1.143&r2=1.144) pgsql/src/include/parser: parse_target.h (r1.39 -> r1.40) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/parser/parse_target.h.diff?r1=1.39&r2=1.40) pgsql/src/test/regress/expected: triggers.out (r1.22 -> r1.23) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/expected/triggers.out.diff?r1=1.22&r2=1.23) pgsql/src/test/regress/sql: triggers.sql (r1.12 -> r1.13) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/sql/triggers.sql.diff?r1=1.12&r2=1.13)