On 2015-04-26 18:02:06 -0700, Peter Geoghegan wrote: > Remaining challenges > =================
So I did the executor changes I'd mentioned downthread, and Peter agreed that it'd quite workable. Right now this, besides cleanup, docs and syntax leaves only one real issue I know of. Which is the question what EXCLUDED actually refers to. Consider a table blarg(key int primary key, data text); with a BEFORE INSERT trigger that modifies 'data'. For the statement INSERT INTO blarg(key, data) VALUES(1, 'whatever') ON CONFLICT (key) DO UPDATE SET data = EXCLUDED.data; would you rather have EXCLUDED.data refer to the tuple version from VALUES (or a SELECT or ...) or to version from the BEFORE trigger? To me it seems better to have it refer to version *not* affected by the trigger (which will be called either way). I think it'd be slightly easier to understand and more flexible. But I could live with either decision. This isn't a technical problem, we just have to decide what we want to do. Greetings, Andres Freund -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers