Martijn van Oosterhout =EDrta:
> On Wed, May 07, 2008 at 03:04:49PM -0700, David Fetter wrote:
>=20=20=20
>> 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().
>>=20=20=20=20=20
>
> Doesn't the SQL standard GENERATED BY functionality work for this? Or
> won't that handle updates?
>=20=20=20
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,
>=20=20=20
Best regards,
Zolt=E1n B=F6sz=F6rm=E9nyi
--=20
----------------------------------
Zolt=E1n B=F6sz=F6rm=E9nyi
Cybertec Sch=F6nig & Sch=F6nig GmbH
http://www.postgresql.at/
--=20
Sent via pgsql-hackers mailing list (pgsql-hackers@[EMAIL PROTECTED]
)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


|