postgresql/src/backend/catalog
Tomas Vondra 19d8e2308b Ignore BRIN indexes when checking for HOT updates
When determining whether an index update may be skipped by using HOT, we
can ignore attributes indexed by block summarizing indexes without
references to individual tuples that need to be cleaned up.

A new type TU_UpdateIndexes provides a signal to the executor to
determine which indexes to update - no indexes, all indexes, or only the
summarizing indexes.

This also removes rd_indexattr list, and replaces it with rd_attrsvalid
flag. The list was not used anywhere, and a simple flag is sufficient.

This was originally committed as 5753d4ee32, but then got reverted by
e3fcca0d0d because of correctness issues.

Original patch by Josef Simanek, various fixes and improvements by Tomas
Vondra and me.

Authors: Matthias van de Meent, Josef Simanek, Tomas Vondra
Reviewed-by: Tomas Vondra, Alvaro Herrera
Discussion: https://postgr.es/m/05ebcb44-f383-86e3-4f31-0a97a55634cf@enterprisedb.com
Discussion: https://postgr.es/m/CAFp7QwpMRGcDAQumN7onN9HjrJ3u4X3ZRXdGFT0K5G2JWvnbWg%40mail.gmail.com
2023-03-20 11:02:42 +01:00
..
.gitignore Build in some knowledge about foreign-key relationships in the catalogs. 2021-02-02 17:11:55 -05:00
Catalog.pm Update copyright for 2023 2023-01-02 15:00:37 -05:00
Makefile Update copyright for 2023 2023-01-02 15:00:37 -05:00
aclchk.c Refactor recordExtObjInitPriv() 2023-01-17 20:06:06 +01:00
catalog.c Update copyright for 2023 2023-01-02 15:00:37 -05:00
dependency.c Remove useless casts to (void *) in arguments of some system functions 2023-02-07 06:57:59 +01:00
genbki.pl Update copyright for 2023 2023-01-02 15:00:37 -05:00
heap.c Update copyright for 2023 2023-01-02 15:00:37 -05:00
index.c Ignore BRIN indexes when checking for HOT updates 2023-03-20 11:02:42 +01:00
indexing.c Ignore BRIN indexes when checking for HOT updates 2023-03-20 11:02:42 +01:00
information_schema.sql Update copyright for 2023 2023-01-02 15:00:37 -05:00
meson.build Update copyright for 2023 2023-01-02 15:00:37 -05:00
namespace.c Update copyright for 2023 2023-01-02 15:00:37 -05:00
objectaccess.c Update copyright for 2023 2023-01-02 15:00:37 -05:00
objectaddress.c Improve several permission-related error messages. 2023-03-17 10:33:09 +01:00
partition.c Update copyright for 2023 2023-01-02 15:00:37 -05:00
pg_aggregate.c Update copyright for 2023 2023-01-02 15:00:37 -05:00
pg_attrdef.c Update copyright for 2023 2023-01-02 15:00:37 -05:00
pg_cast.c Update copyright for 2023 2023-01-02 15:00:37 -05:00
pg_class.c Update copyright for 2023 2023-01-02 15:00:37 -05:00
pg_collation.c Allow tailoring of ICU locales with custom rules 2023-03-08 16:56:37 +01:00
pg_constraint.c Update copyright for 2023 2023-01-02 15:00:37 -05:00
pg_conversion.c Update copyright for 2023 2023-01-02 15:00:37 -05:00
pg_db_role_setting.c Update copyright for 2023 2023-01-02 15:00:37 -05:00
pg_depend.c Update copyright for 2023 2023-01-02 15:00:37 -05:00
pg_enum.c Update copyright for 2023 2023-01-02 15:00:37 -05:00
pg_inherits.c Update copyright for 2023 2023-01-02 15:00:37 -05:00
pg_largeobject.c Update copyright for 2023 2023-01-02 15:00:37 -05:00
pg_namespace.c Update copyright for 2023 2023-01-02 15:00:37 -05:00
pg_operator.c Update copyright for 2023 2023-01-02 15:00:37 -05:00
pg_parameter_acl.c Update copyright for 2023 2023-01-02 15:00:37 -05:00
pg_proc.c Update copyright for 2023 2023-01-02 15:00:37 -05:00
pg_publication.c Ignore dropped and generated columns from the column list. 2023-01-13 14:49:23 +05:30
pg_range.c Update copyright for 2023 2023-01-02 15:00:37 -05:00
pg_shdepend.c Remove useless casts to (void *) in arguments of some system functions 2023-02-07 06:57:59 +01:00
pg_subscription.c Update copyright for 2023 2023-01-02 15:00:37 -05:00
pg_type.c Update copyright for 2023 2023-01-02 15:00:37 -05:00
sql_feature_packages.txt Cleanup in SQL features files 2020-03-28 08:46:18 +01:00
sql_features.txt Support [NO] INDENT option in XMLSERIALIZE(). 2023-03-15 16:59:09 -04:00
storage.c Remove useless casts to (void *) in hash_search() calls 2023-02-06 09:41:01 +01:00
system_functions.sql Invent random_normal() to provide normally-distributed random numbers. 2023-01-09 12:44:00 -05:00
system_views.sql Add pg_stat_io view, providing more detailed IO statistics 2023-02-11 09:52:15 -08:00
toasting.c Update copyright for 2023 2023-01-02 15:00:37 -05:00