pgsql: Let ALTER TABLE Phase 2 routines manage the relation pointer - Mailing list pgsql-committers

From Alvaro Herrera
Subject pgsql: Let ALTER TABLE Phase 2 routines manage the relation pointer
Date
Msg-id E1lPVAe-0000zv-Nh@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Let ALTER TABLE Phase 2 routines manage the relation pointer

Struct AlteredRelationInfo gains a new Relation member, to be used only
by Phase 2 (ATRewriteCatalogs); this allows ATExecCmd() subroutines open
and close the relation internally.

A future commit will use this facility to implement an ALTER TABLE
subcommand that closes and reopens the relation across transaction
boundaries.

(It is possible to keep the relation open past phase 2 to be used by
phase 3 instead of having to reopen it that point, but there are some
minor complications with that; it's not clear that there is much to be
won from doing that, though.)

Author: Álvaro Herrera <alvherre@alvh.no-ip.org>
Discussion: https://postgr.es/m/20200803234854.GA24158@alvherre.pgsql

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/cd03c6e94b09ff402cbc3ce8da5587f09f0b5e58

Modified Files
--------------
src/backend/commands/tablecmds.c | 19 +++++++++++++------
1 file changed, 13 insertions(+), 6 deletions(-)


pgsql-committers by date:

Previous
From: Alvaro Herrera
Date:
Subject: pgsql: Rework HeapTupleHeader macros to reuse itemptr.h
Next
From: Alvaro Herrera
Date:
Subject: pgsql: Add comments for AlteredTableInfo->rel