postgresql/src/backend
Tom Lane 1dec82068b Better fix for deadlock hazard in CREATE INDEX CONCURRENTLY.
Commit 54eff5311 did not account for the possibility that we'd have
a transaction snapshot due to default_transaction_isolation being
set high enough to require one.  The transaction snapshot is enough
to hold back our advertised xmin and thus risk deadlock anyway.
The only way to get rid of that snap is to start a new transaction,
so let's do that instead.  Also throw in an assert checking that we
really have gotten to a state where no xmin is being advertised.

Back-patch to 9.4, like the previous commit.

Discussion: https://postgr.es/m/CAMkU=1ztk3TpQdcUNbxq93pc80FrXUjpDWLGMeVBDx71GHNwZQ@mail.gmail.com
2018-04-18 12:07:37 -04:00
..
access Fix confusion on the padding of GIDs in on commit and abort records. 2018-04-17 16:10:42 -04:00
bootstrap Rationalize handling of array type names in bootstrap data. 2018-04-17 18:29:11 -04:00
catalog Rationalize handling of single and double quotes in bootstrap data. 2018-04-17 19:53:50 -04:00
commands Better fix for deadlock hazard in CREATE INDEX CONCURRENTLY. 2018-04-18 12:07:37 -04:00
executor Update Append's idea of first_partial_plan 2018-04-17 16:25:02 -03:00
foreign Remove bogus "extern" annotations on function definitions. 2018-02-19 12:07:44 -05:00
jit Fix partial-build problems introduced by having more generated headers. 2018-04-09 16:42:10 -04:00
lib Fix non-portable use of round(). 2018-03-31 20:26:47 -07:00
libpq Make be-secure-common.c more consistent for future SSL implementations 2018-04-02 11:37:40 -04:00
main Update copyright for 2018 2018-01-02 23:30:12 -05:00
nodes Revert MERGE patch 2018-04-12 11:22:56 +01:00
optimizer Reorganize partitioning code 2018-04-14 21:12:14 -03:00
parser Reorganize partitioning code 2018-04-14 21:12:14 -03:00
partitioning Reorganize partitioning code 2018-04-14 21:12:14 -03:00
po Translation updates 2017-08-07 13:55:34 -04:00
port Fix and improve pg_atomic_flag fallback implementation. 2018-04-06 19:55:32 -07:00
postmaster Allocate enough shared string memory for stats of auxiliary processes. 2018-04-11 23:39:49 +03:00
regex Update copyright for 2018 2018-01-02 23:30:12 -05:00
replication Don't attempt to verify checksums on new pages 2018-04-15 14:05:56 +02:00
rewrite Simplify view-expansion code in rewriteHandler.c. 2018-04-14 21:01:03 -04:00
snowball Avoid unnecessary use of pg_strcasecmp for already-downcased identifiers. 2018-01-26 18:25:14 -05:00
statistics Fast ALTER TABLE ADD COLUMN with a non-NULL default 2018-03-28 10:43:52 +10:30
storage Fix incorrect close() call in dsm_impl_mmap(). 2018-04-10 18:34:54 -04:00
tcop Reorganize partitioning code 2018-04-14 21:12:14 -03:00
tsearch Improve regression test coverage for src/backend/tsearch/spell.c. 2018-04-13 13:49:52 -04:00
utils Clean up callers of JsonbIteratorNext(). 2018-04-15 12:40:01 -04:00
.gitignore
Makefile Fix partial-build problems introduced by having more generated headers. 2018-04-09 16:42:10 -04:00
common.mk Remove PARTIAL_LINKING build mode. 2018-03-30 17:33:04 -07:00
nls.mk Translation updates 2017-05-15 12:19:54 -04:00