Re: [COMMITTERS] pgsql: Change the row constructor syntax (ROW(...)) - Mailing list pgsql-hackers

From Bruce Momjian
Subject Re: [COMMITTERS] pgsql: Change the row constructor syntax (ROW(...))
Date
Msg-id 200606261957.k5QJvVW06836@momjian.us
Whole thread Raw
Responses Re: [COMMITTERS] pgsql: Change the row constructor syntax (ROW(...))  (Tom Lane <tgl@sss.pgh.pa.us>)
List 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@momjian.us EnterpriseDB    http://www.enterprisedb.com
 + If your life is a hard drive, Christ can be your backup. +


pgsql-hackers by date:

Previous
From: Alvaro Herrera
Date:
Subject: Re: [PATCHES] Non-transactional pg_class, try 2
Next
From: Tom Lane
Date:
Subject: Re: "Truncated" tuples for tuple hash tables