citus/src/include
Onur Tirtir 3cc44ed8b3
Tell other backends it's safe to ignore the backend that concurrently built the shell table index (#5520)
In addition to starting a new transaction, we also need to tell other
backends --including the ones spawned for connections opened to
localhost to build indexes on shards of this relation-- that concurrent
index builds can safely ignore us.

Normally, DefineIndex() only does that if index doesn't have any
predicates (i.e.: where clause) and no index expressions at all.
However, now that we already called standard process utility, index
build on the shell table is finished anyway.

The reason behind doing so is that we cannot guarantee not grabbing any
snapshots via adaptive executor, and the backends creating indexes on
local shards (if any) might block on waiting for current xact of the
current backend to finish, which would cause self deadlocks that are not
detectable.
2022-01-10 10:23:09 +03:00
..
columnar Columnar: move DDL hooks to citus to remove dependency. (#5547) 2022-01-04 23:26:46 -08:00
distributed Tell other backends it's safe to ignore the backend that concurrently built the shell table index (#5520) 2022-01-10 10:23:09 +03:00
.gitignore Self-implemented review feedback 2017-04-03 22:55:12 -06:00
citus_config.h.in HAVE_LZ4 -> HAVE_CITUS_LZ4 (#5541) 2021-12-16 16:21:52 +03:00
citus_version.h.in HAVE_LZ4 -> HAVE_CITUS_LZ4 (#5541) 2021-12-16 16:21:52 +03:00
pg_version_compat.h Make pg_version_compat.h and listutils.c dependency-free. (#5548) 2022-01-04 23:02:08 -08:00