Re: delta relations in AFTER triggers
Robert Haas <robertmhaas@gmail.com>
From: Robert Haas <robertmhaas@gmail.com>
To: Kevin Grittner <kgrittn@ymail.com>
Cc: David Fetter <david@fetter.org>,
Alvaro Herrera <alvherre@2ndquadrant.com>,
Pg Hackers <pgsql-hackers@postgresql.org>
Date: 2014-06-30T15:03:06Z
Lists: pgsql-hackers
On Sat, Jun 28, 2014 at 10:35 AM, Kevin Grittner <kgrittn@ymail.com> wrote: > David Fetter <david@fetter.org> wrote: >> On Sat, Jun 21, 2014 at 11:06:26AM -0700, Kevin Grittner wrote: > >>> Here is v2. > >> I've taken the liberty of making an extension that uses this. >> Preliminary tests indicate a 10x performance improvement over the >> user-space hack I did that's similar in functionality. > > Wow, this goes well beyond what I expected for a review! Thanks! > > As I said in an earlier post, I think that this is best committed > as a series of patches, one for the core portion and one for each > PL which implements the ability to use the transition (delta) > relations in AFTER triggers. Your extension covers the C trigger > angle, and it seems to me to be worth committing to contrib as a > sample of how to use this feature in C. > > It is very encouraging that you were able to use this without > touching what I did in core, and that it runs 10x faster than the > alternatives before the patch. > > Because this review advances the patch so far, it may be feasible > to get it committed in this CF. I'll see what is needed to get > there and maybe have a patch toward that end in a few days. The > minimum that would require, IMV, is a plpgsql implementation, > moving the new pg_trigger columns to the variable portion of the > record so they can be null capable, more docs, and regression > tests. Not to rain on your parade, but this patch hasn't really had a serious code review yet. Performance testing is good, but it's not the same thing. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company
Commits
-
Don't permit transition tables with TRUNCATE triggers.
- 29fd3d9da0ff 10.0 landed
-
Pass EXEC_FLAG_REWIND when initializing a tuplestore scan.
- 304007d9f1f6 10.0 landed
-
Faster expression evaluation and targetlist projection.
- b8d7f053c5c2 10.0 cited
-
Remove obsoleted code relating to targetlist SRF evaluation.
- ea15e18677fc 10.0 cited
-
Implement syntax for transition tables in AFTER triggers.
- 8c48375e5f43 10.0 cited