postgresql/src/backend/catalog
Michael Paquier 83158f74d3 Make index_set_state_flags() transactional
3c84046 is the original commit that introduced index_set_state_flags(),
where the presence of SnapshotNow made necessary the use of an in-place
update.  SnapshotNow has been removed in 813fb03, so there is no actual
reasons to not make this operation transactional.

Note that while making the operation more robust, using a transactional
operation in this routine was not strictly necessary as there was no use
case for it yet.  However, some future features are going to need a
transactional behavior, like support for CREATE/DROP INDEX CONCURRENTLY
with partitioned tables, where indexes in a partition tree need to have
all their pg_index.indis* flags updated in the same transaction to make
the operation stable to the end-user by keeping partition trees
consistent, even with a failure mid-flight.

REINDEX CONCURRENTLY uses already transactional updates when swapping
the old and new indexes, making this change more consistent with the
index-swapping logic.

Author: Michael Paquier
Reviewed-by: Anastasia Lubennikova
Discussion: https://postgr.es/m/20200903080440.GA8559@paquier.xyz
2020-09-14 13:56:41 +09:00
..
.gitignore Remove separate files for the initial contents of pg_(sh)description 2020-01-19 13:54:58 +02:00
aclchk.c Unify drop-by-OID functions 2020-06-09 09:39:46 +02:00
catalog.c Invent "trusted" extensions, and remove the pg_pltemplate catalog. 2020-01-29 18:42:43 -05:00
Catalog.pm Clarify coding in Catalog::AddDefaultValues. 2020-02-15 15:13:44 -05:00
dependency.c Eliminate cache lookup errors in SQL functions for object addresses 2020-07-15 09:03:10 +09:00
genbki.pl Be more careful about marking catalog columns NOT NULL by default. 2020-07-21 13:03:48 -04:00
heap.c Switch to multi-inserts when registering dependencies for many code paths 2020-09-05 21:33:53 +09:00
index.c Make index_set_state_flags() transactional 2020-09-14 13:56:41 +09:00
indexing.c Use multi-inserts for pg_attribute and pg_shdepend 2020-07-31 10:54:26 +09:00
information_schema.sql Add current substring regular expression syntax 2020-06-29 11:05:00 +02:00
Makefile Rename configure.in to configure.ac 2020-07-24 10:42:08 +02:00
namespace.c code: replace 'master' with 'primary' where appropriate. 2020-07-08 12:57:23 -07:00
objectaccess.c Update copyrights for 2020 2020-01-01 12:21:45 -05:00
objectaddress.c Eliminate cache lookup errors in SQL functions for object addresses 2020-07-15 09:03:10 +09:00
partition.c Update copyrights for 2020 2020-01-01 12:21:45 -05:00
pg_aggregate.c Fix misleading error message about inconsistent moving-aggregate types. 2020-09-06 12:55:13 -04:00
pg_cast.c Update copyright year 2020-09-11 12:55:13 -03:00
pg_collation.c Unify drop-by-OID functions 2020-06-09 09:39:46 +02:00
pg_constraint.c Switch to multi-inserts when registering dependencies for many code paths 2020-09-05 21:33:53 +09:00
pg_conversion.c Unify drop-by-OID functions 2020-06-09 09:39:46 +02:00
pg_db_role_setting.c Update copyrights for 2020 2020-01-01 12:21:45 -05:00
pg_depend.c Use multi-inserts for pg_depend 2020-09-05 13:52:47 +09:00
pg_enum.c Update copyrights for 2020 2020-01-01 12:21:45 -05:00
pg_inherits.c Update copyrights for 2020 2020-01-01 12:21:45 -05:00
pg_largeobject.c Update copyrights for 2020 2020-01-01 12:21:45 -05:00
pg_namespace.c Update copyrights for 2020 2020-01-01 12:21:45 -05:00
pg_operator.c Switch to multi-inserts when registering dependencies for many code paths 2020-09-05 21:33:53 +09:00
pg_proc.c Switch to multi-inserts when registering dependencies for many code paths 2020-09-05 21:33:53 +09:00
pg_publication.c Fix relcache reference leak 2020-04-11 09:44:14 +02:00
pg_range.c Switch to multi-inserts when registering dependencies for many code paths 2020-09-05 21:33:53 +09:00
pg_shdepend.c Use multi-inserts for pg_depend 2020-09-05 13:52:47 +09:00
pg_subscription.c Add support for streaming to built-in logical replication. 2020-09-03 07:54:07 +05:30
pg_type.c Switch to multi-inserts when registering dependencies for many code paths 2020-09-05 21:33:53 +09:00
sql_feature_packages.txt Cleanup in SQL features files 2020-03-28 08:46:18 +01:00
sql_features.txt Support FETCH FIRST WITH TIES 2020-04-07 16:22:13 -04:00
storage.c Yet more elimination of dead stores and useless initializations. 2020-09-05 13:17:32 -04:00
system_views.sql Add support for streaming to built-in logical replication. 2020-09-03 07:54:07 +05:30
toasting.c code: replace most remaining uses of 'master'. 2020-07-08 13:24:35 -07:00