Improve handling of dropped partitioned indexes for REINDEX INDEX
authorMichael Paquier <michael@paquier.xyz>
Thu, 18 Jan 2024 07:30:11 +0000 (16:30 +0900)
committerMichael Paquier <michael@paquier.xyz>
Thu, 18 Jan 2024 07:30:11 +0000 (16:30 +0900)
commit0ae3b466210316ebedbe123b64b46ac2dc1fc04f
tree5acba7456dba4fbd9412198b6b105b33d47d3f78
parent8013850c853db67ee753e5b730231cfad846b806
Improve handling of dropped partitioned indexes for REINDEX INDEX

A REINDEX INDEX done on a partitioned index builds a list of the indexes
to work on before processing its partitions in individual transactions.
When combined with a DROP of the partitioned index, there was a window
where it was possible to see some unexpected "could not open relation
with OID", synonym of relation lookup error.  The code was robust enough
to handle the case where the parent relation is missing, but not the
case where an index would be gone missing.

This is similar to 1d65416661bb.

Support for REINDEX on partitioned relations has been introduced in
a6642b3ae060, so backpatch down to 14.

Author: Fei Changhong
Discussion: https://postgr.es/m/tencent_6A52106095ACDE55333E3AD33F304C0C3909@qq.com
Backpatch-through: 14
src/backend/catalog/index.c