From: | Andrew Dunstan <andrew(at)dunslane(dot)net> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | Valentine Gogichashvili <valgog(at)gmail(dot)com>, Eric Ridge <eebbrr(at)gmail(dot)com>, Darren Duncan <darren(at)darrenduncan(dot)net>, "Joshua D(dot) Drake" <jd(at)commandprompt(dot)com>, Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Thoughts on "SELECT * EXCLUDING (...) FROM ..."? |
Date: | 2011-11-02 14:12:21 |
Message-ID: | 4EB14FC5.8090902@dunslane.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On 11/02/2011 09:56 AM, Tom Lane wrote:
> Andrew Dunstan<andrew(at)dunslane(dot)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
From | Date | Subject | |
---|---|---|---|
Next Message | Robert Haas | 2011-11-02 14:30:22 | Re: pg_upgrade if 'postgres' database is dropped |
Previous Message | Simon Riggs | 2011-11-02 14:10:18 | Re: Refactor xlog.c #1 - startup.c |