Skip site navigation (1) Skip section navigation (2)

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 (view raw or flat)
Thread:
Lists: pgsql-committerspgsql-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

pgsql-hackers by date

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

pgsql-committers by date

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

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group