Re: [COMMITTERS] pgsql: Change the row constructor syntax (ROW(...))

From: Bruce Momjian <bruce(at)momjian(dot)us>
To: Tom Lane <tgl(at)postgresql(dot)org>
Cc: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: [COMMITTERS] pgsql: Change the row constructor syntax (ROW(...))
Date: 2006-06-26 19:57:31
Message-ID: 200606261957.k5QJvVW06836@momjian.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers pgsql-hackers


Does this complete this TODO item?

o Allow UPDATE tab SET ROW (col, ...) = (...) for updating multiple
columns

---------------------------------------------------------------------------

Tom Lane wrote:
> 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)
>
> ---------------------------(end of broadcast)---------------------------
> TIP 9: In versions below 8.0, the planner will ignore your desire to
> choose an index scan if your joining column's datatypes do not
> match
>

--
Bruce Momjian bruce(at)momjian(dot)us
EnterpriseDB http://www.enterprisedb.com

+ If your life is a hard drive, Christ can be your backup. +

In response to

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2006-06-26 20:49:58 Re: [COMMITTERS] pgsql: Change the row constructor syntax (ROW(...))
Previous Message User Cunha17 2006-06-26 19:57:27 snapshot - root: Updating to reflect the recent support of ON PREBUILT

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2006-06-26 19:59:42 Re: "Truncated" tuples for tuple hash tables
Previous Message Bruce Momjian 2006-06-26 19:47:16 Re: Overhead for stats_command_string et al, take 2