Re: SQL functions, INSERT/UPDATE/DELETE RETURNING, and triggers
От | Tom Lane |
---|---|
Тема | Re: SQL functions, INSERT/UPDATE/DELETE RETURNING, and triggers |
Дата | |
Msg-id | 16078.1160679613@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Re: SQL functions, INSERT/UPDATE/DELETE RETURNING, and triggers (David Fetter <david@fetter.org>) |
Список | pgsql-hackers |
David Fetter <david@fetter.org> writes: > More generally, would this change impede promoting RETURNING to work > just as VALUES does in 8.2 (i.e. being able to join RETURNING results, > etc.)? Making that happen would imply a whole lot of other changes; this issue isn't the principal gating factor. One of the main things I'd point to right now, in view of this having all arisen from the question of when triggers should fire, is where and when we'd fire BEFORE/AFTER STATEMENT triggers for a RETURNING command embedded in a larger query. For that matter, the system has several not-easily-removed assumptions that a SELECT command won't fire any triggers at all --- which would break down if we allowed constructs like SELECT ... FROM (INSERT ... RETURNING ...) ... We do currently have the ability to make plpgsql functions send RETURNING results back to a calling query, and with this change we could say the same of plain SQL functions --- and in both cases we'll be depending on a tuplestore buffer to keep things sane in terms of when triggers fire. regards, tom lane
В списке pgsql-hackers по дате отправления: