Subject: pgsql: Promote assertion about !ReindexIsProcessingIndex to runtime err

From: Tom Lane <[email-masked]>
Date: Sun, 25 Feb 2024 21:15:21 +0000

Promote assertion about !ReindexIsProcessingIndex to runtime error.

When this assertion was installed (in commit d2f60a3ab), I thought
it was only for catching server logic errors that caused accesses to
catalogs that were undergoing index rebuilds.  However, it will also
fire in case of a user-defined index expression that attempts to
access its own table.  We occasionally see reports of people trying
to do that, and typically getting unintelligible low-level errors
as a result.  We can provide a more on-point message by making this
a regular runtime check.

While at it, adjust the similar error check in
systable_beginscan_ordered to use the same message text.  That one
is (probably) not reachable without a coding bug, but we might as
well use a translatable message if we have one.

Per bug #18363 from Alexander Lakhin.  Back-patch to all supported
branches.

Discussion: https://postgr.es/m/[email-masked]

Branch
------
REL_13_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/43cca9de9a0adf3fb47aaa6310cc0022a78eee8a

Modified Files
--------------
src/backend/access/index/genam.c   |  6 ++++--
src/backend/access/index/indexam.c | 17 +++++++++++------
2 files changed, 15 insertions(+), 8 deletions(-)