Re: Auto-updated fields - Mailing list pgsql-hackers

From Zoltan Boszormenyi
Subject Re: Auto-updated fields
Date
Msg-id 4822CE4C.8080006@cybertec.at
Whole thread Raw
In response to Re: Auto-updated fields  (Martijn van Oosterhout <kleptog@svana.org>)
Responses Re: Auto-updated fields  (Zoltan Boszormenyi <zb@cybertec.at>)
List pgsql-hackers
Martijn van Oosterhout írta:
> On Wed, May 07, 2008 at 03:04:49PM -0700, David Fetter wrote:
>
>> 1.  Create a generic (possibly overloaded) trigger function, bundled
>> with PostgreSQL, which sets a field to some value.  For example, a
>> timestamptz version might set the field to now().
>>
>
> Doesn't the SQL standard GENERATED BY functionality work for this? Or
> won't that handle updates?
>

You mean GENERATED ALWAYS AS (expression)?
Yes, they should be updated on every UPDATE as the expression
may include other fields in the same row.

A GENERATED column implemented as a stored column would
work for this but a virtual column would not. A virtual column
would return different values for "now()" in every SELECT.

However we can argue for use cases of a virtual column and implement
it similarly as VIEWs, i.e an ON SELECT rule can expand the original
expression of the column definition.

I suggest using these syntaxes if we decide to implement them:

GENERATED ALWAYS AS (expression) -- SQL standard stored GENERATED column
GENERATED VIRTUAL AS (expression) -- virtual column, obviously

> Have a nice day,
>

Best regards,
Zoltán Böszörményi

--
----------------------------------
Zoltán Böszörményi
Cybertec Schönig & Schönig GmbH
http://www.postgresql.at/




pgsql-hackers by date:

Previous
From: Achilleas Mantzios
Date:
Subject: dbmirror - migration to 8.3 from 7.4
Next
From: Zoltan Boszormenyi
Date:
Subject: Re: Auto-updated fields