postgresql/src/include
Tom Lane 511540dadf 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
2017-04-10 10:26:54 -04:00
..
access Reduce the number of pallocs() in BRIN 2017-04-07 19:08:43 -03:00
bootstrap Update copyright via script for 2017 2017-01-03 13:48:53 -05:00
catalog Move isolationtester's is-blocked query into C code for speed. 2017-04-10 10:26:54 -04:00
commands Identity columns 2017-04-06 08:41:37 -04:00
common Avoid using a C++ keyword in header file 2017-04-07 16:32:02 -04:00
datatype Consistently declare timestamp variables as TimestampTz. 2017-02-23 15:57:08 -05:00
executor Identity columns 2017-04-06 08:41:37 -04:00
fe_utils Allow psql variable substitution to occur in backtick command strings. 2017-04-01 21:44:54 -04:00
foreign Allow custom and foreign scans to have shutdown callbacks. 2017-02-26 13:41:12 +05:30
lib Support hashed aggregation with grouping sets. 2017-03-27 04:20:54 +01:00
libpq Allow SCRAM authentication, when pg_hba.conf says 'md5'. 2017-03-24 13:32:21 +02:00
mb ICU support 2017-03-23 15:28:48 -04:00
nodes Optimize joins when the inner relation can be proven unique. 2017-04-07 22:20:13 -04:00
optimizer Optimize joins when the inner relation can be proven unique. 2017-04-07 22:20:13 -04:00
parser Identity columns 2017-04-06 08:41:37 -04:00
port Fix issues in e8fdbd58fe. 2017-04-07 17:09:03 -07:00
portability Update copyright via script for 2017 2017-01-03 13:48:53 -05:00
postmaster Make header self-contained 2017-04-03 16:17:45 -04:00
regex Document intentional violations of header inclusion policy. 2017-03-08 17:01:13 -05:00
replication Cleanup slots during drop database 2017-03-28 10:05:21 -04:00
rewrite Remove deprecated COMMENT ON RULE syntax 2017-02-23 08:19:52 -05:00
snowball Document intentional violations of header inclusion policy. 2017-03-08 17:01:13 -05:00
statistics Collect and use multi-column dependency stats 2017-04-05 18:00:42 -04:00
storage Move isolationtester's is-blocked query into C code for speed. 2017-04-10 10:26:54 -04:00
tcop Remove dead code and fix comments in fast-path function handling. 2017-04-06 09:09:39 +03:00
tsearch Full Text Search support for json and jsonb 2017-03-31 14:26:03 -04:00
utils Allow avoiding tuple copy within tuplesort_gettupleslot(). 2017-04-06 14:48:59 -07:00
.gitignore Autoconfiscate selection of 64-bit int type for 64-bit large object API. 2012-10-07 21:52:43 -04:00
c.h Recommend wrappers of PG_DETOAST_DATUM_PACKED(). 2017-03-12 19:35:33 -04:00
fmgr.h Remove support for version-0 calling conventions. 2017-03-30 06:25:46 -07:00
funcapi.h Update copyright via script for 2017 2017-01-03 13:48:53 -05:00
getaddrinfo.h Update copyright via script for 2017 2017-01-03 13:48:53 -05:00
getopt_long.h Update copyright via script for 2017 2017-01-03 13:48:53 -05:00
Makefile Generate fmgr prototypes automatically 2017-01-17 14:06:07 -05:00
miscadmin.h Update copyright via script for 2017 2017-01-03 13:48:53 -05:00
pg_config.h.in Cast result of copyObject() to correct type 2017-03-28 21:59:23 -04:00
pg_config.h.win32 Fix hardcoded typeof check result for Windows 2017-03-29 08:55:34 -04:00
pg_config_ext.h.in Autoconfiscate selection of 64-bit int type for 64-bit large object API. 2012-10-07 21:52:43 -04:00
pg_config_ext.h.win32 Autoconfiscate selection of 64-bit int type for 64-bit large object API. 2012-10-07 21:52:43 -04:00
pg_config_manual.h Fix default minimum value for descending sequences 2017-01-23 14:00:58 -05:00
pg_getopt.h Update copyright via script for 2017 2017-01-03 13:48:53 -05:00
pg_trace.h Update copyright via script for 2017 2017-01-03 13:48:53 -05:00
pgstat.h Add ProcArrayGroupUpdate wait event. 2017-04-07 13:41:47 -04:00
pgtar.h Update copyright via script for 2017 2017-01-03 13:48:53 -05:00
pgtime.h Fix incorrect comment: pgtime's tm_mon is 1-based, not 0-based. 2017-01-24 09:36:17 -05:00
port.h Update copyright via script for 2017 2017-01-03 13:48:53 -05:00
postgres.h Recommend wrappers of PG_DETOAST_DATUM_PACKED(). 2017-03-12 19:35:33 -04:00
postgres_ext.h Move atooid() definition to a central place 2017-03-01 11:55:28 -05:00
postgres_fe.h Update copyright via script for 2017 2017-01-03 13:48:53 -05:00
rusagestub.h Update copyright via script for 2017 2017-01-03 13:48:53 -05:00
windowapi.h Update copyright via script for 2017 2017-01-03 13:48:53 -05:00