]> granicus.if.org Git - postgresql/commit
Remove O(N^2) performance issue with multiple SAVEPOINTs.
authorSimon Riggs <simon@2ndQuadrant.com>
Tue, 19 Jul 2011 16:21:24 +0000 (17:21 +0100)
committerSimon Riggs <simon@2ndQuadrant.com>
Tue, 19 Jul 2011 16:21:24 +0000 (17:21 +0100)
commit7cb7122800ec996d4849ce9b4ad3065db19a2aae
treeb8dd1c4c54ba9ddb6ec72bbcb7f4abe008aaa1ab
parent8e5ac74c1249820ca55481223a95b9124b4a4f95
Remove O(N^2) performance issue with multiple SAVEPOINTs.
Subtransaction locks now released en masse at main commit, rather than
repeatedly re-scanning for locks as we ascend the nested transaction tree.
Split transaction state TBLOCK_SUBEND into two states, TBLOCK_SUBCOMMIT
and TBLOCK_SUBRELEASE to allow the commit path to be optimised using
the existing code in ResourceOwnerRelease() which appears to have been
intended for this usage, judging from comments therein.
src/backend/access/transam/xact.c