On Tue, Nov 19, 2013 at 12:45 AM, Noah Misch <n...@leadboat.com> wrote: > On Fri, Nov 15, 2013 at 01:01:48PM -0500, Andrew Dunstan wrote: >> The triggers don't fire if there is no real XID, so only actual data >> changes should cause the trigger to fire. > > What's the advantage of this provision? Without it, an individual trigger > could make the same check and drop out quickly. A trigger not wanting it > can't so easily work around its presence, though. Heretofore, skipping XID > assignment has been an implementation detail that improves performance without > otherwise calling user attention to itself. This provision would make the > decision to acquire an XID (where optional) affect application behavior.
Yeah, I agree that that's an ugly wart. If we want a pre-commit trigger that's only called for transactions that write data, we at least need to name it appropriately. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers