mirror of https://github.com/citusdata/citus.git
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. |
||
---|---|---|
.. | ||
columnar | ||
distributed | ||
.gitignore | ||
citus_config.h.in | ||
citus_version.h.in | ||
pg_version_compat.h |