diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2017-04-10 10:26:54 -0400 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2017-04-10 10:26:54 -0400 |
commit | 511540dadf1166d80b864f63979178f324844060 (patch) | |
tree | b020d15352b84a5482c5b5064d6cd84793b1bdb8 /src/backend/executor/nodeModifyTable.c | |
parent | 9cf5c31964315181e475fc37a5e9ad2204fe3484 (diff) | |
download | postgresql-511540dadf1166d80b864f63979178f324844060.tar.gz postgresql-511540dadf1166d80b864f63979178f324844060.zip |
Move isolationtester's is-blocked query into C code for speed.
Commit 4deb41381 modified isolationtester's query to see whether a
session is blocked to also check for waits occurring in GetSafeSnapshot.
However, it did that in a way that enormously increased the query's
runtime under CLOBBER_CACHE_ALWAYS, causing the buildfarm members
that use that to run about four times slower than before, and in some
cases fail entirely. To fix, push the entire logic into a dedicated
backend function. This should actually reduce the CLOBBER_CACHE_ALWAYS
runtime from what it was previously, though I've not checked that.
In passing, expose a SQL function to check for safe-snapshot blockage,
comparable to pg_blocking_pids. This is more or less free given the
infrastructure built to solve the other problem, so we might as well.
Thomas Munro
Discussion: https://postgr.es/m/20170407165749.pstcakbc637opkax@alap3.anarazel.de
Diffstat (limited to 'src/backend/executor/nodeModifyTable.c')
0 files changed, 0 insertions, 0 deletions