Refactor some code for ALTER TABLE SET LOGGED/UNLOGGED in tablecmds.c
authorMichael Paquier <michael@paquier.xyz>
Thu, 29 Aug 2024 06:31:30 +0000 (15:31 +0900)
committerMichael Paquier <michael@paquier.xyz>
Thu, 29 Aug 2024 06:31:30 +0000 (15:31 +0900)
commit9f87da1cffda0e07ff3babcfa84abe9e849ccd95
tree341732094c947f050641c42e9aaeb8eef286096a
parentd7fe02fb9e6eee16b61874bc8964b0e2d4c5b2ad
Refactor some code for ALTER TABLE SET LOGGED/UNLOGGED in tablecmds.c

Both sub-commands use the same routine to switch the relpersistence of a
relation, duplicated the same checks, and used a style inconsistent with
access methods and tablespaces.

SET LOGEED/UNLOGGED is refactored to avoid any duplication, setting the
reason why a relation rewrite happens within ATPrepChangePersistence().
This shaves some code.

Discussion: https://postgr.es/m/ZiiyGFTBNkqcMQi_@paquier.xyz
src/backend/commands/tablecmds.c