On 11/02/2011 09:56 AM, Tom Lane wrote:
Andrew Dunstan<and...@dunslane.net> writes:
On 11/02/2011 03:16 AM, Valentine Gogichashvili wrote:
Putting aside arguments like "it is not a good idea to use * because
it generates not sustainable code especially in case when you extend
table structure", I think this construct would be really nice for
building ROWs, for example in plpgsql triggers or in conditions for
big update statements:
IF (NEW.* EXCLUDING ( last_modified ) ) IS DISTINCT FROM (OLD.*
EXCLUDING ( last_modified ) ) THEN NEW.last_modified =
clock_timestamp() ; END IF
That's a very good use case. I could certainly have used this in the past.
Well ... this is inventing use cases that have nothing to do with the
proposed feature and are entirely incapable of being supported by the
proposed implementation. And I'm not sure why we should put aside the
argument that this is only a good idea in ad-hoc queries, either.
Well, yes, you're right that it's not covered by the original feature. I
guess I got interested because a couple of years ago I had to write some
triggers in PLPerl and with much lower efficiency to achieve the same
effect as this.
cheers
andrew
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers