Don't reset relhasindex for partitioned tables on ANALYZE
authorAlvaro Herrera <alvherre@alvh.no-ip.org>
Thu, 1 Jul 2021 16:56:30 +0000 (12:56 -0400)
committerAlvaro Herrera <alvherre@alvh.no-ip.org>
Thu, 1 Jul 2021 16:56:30 +0000 (12:56 -0400)
commitd700518d744e53994fdded14b23ebc15b031b0dd
treefefae35028b8e0d8254d87c067ef4f952ff07154
parent2f7bae2f924d8213a76370f825dc15eb0aa79796
Don't reset relhasindex for partitioned tables on ANALYZE

Commit 0e69f705cc1a introduced code to analyze partitioned table;
however, that code fails to preserve pg_class.relhasindex correctly.
Fix by observing whether any indexes exist rather than accidentally
falling through to assuming none do.

Backpatch to 14.

Author: Alexander Pyhalov <a.pyhalov@postgrespro.ru>
Reviewed-by: Álvaro Herrera <alvherre@alvh.no-ip.org>
Reviewed-by: Zhihong Yu <zyu@yugabyte.com>
Discussion: https://postgr.es/m/CALNJ-vS1R3Qoe5t4tbzxrkpBtzRbPq1dDcW4RmA_a+oqweF30w@mail.gmail.com
src/backend/commands/analyze.c
src/test/regress/expected/vacuum.out
src/test/regress/sql/vacuum.sql