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)
commitbe280cdad2985749e558212b0a5c8bdf9abb4e6a
treeb4488c825336db5c7a432324d0d3264e10ab4c4c
parentc4774ce339beff4a8968ceecb86bbbfa3335ed2b
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