pgsql: Move pg_attrdef manipulation code into new file catalog/pg_attrd

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Move pg_attrdef manipulation code into new file catalog/pg_attrd
Date: 2022-03-21 18:56:09
Message-ID: E1nWNCK-000ku8-T5@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Move pg_attrdef manipulation code into new file catalog/pg_attrdef.c.

This is a pure refactoring commit: there isn't (I hope) any functional
change.

StoreAttrDefault and RemoveAttrDefault[ById] are moved from heap.c,
reducing the size of that overly-large file by about 300 lines.
I took the opportunity to trim unused #includes from heap.c, too.

Two new functions for translating between a pg_attrdef OID and the
relid/attnum of the owning column are created by extracting ad-hoc
code from objectaddress.c. This already removes one copy of said
code, and a follow-on bug fix will create more callers.

The only other function directly manipulating pg_attrdef is
AttrDefaultFetch. I judged it was better to leave that in relcache.c,
since it shares special concerns about recursion and error handling
with the rest of that module.

Discussion: https://postgr.es/m/651168.1647451676@sss.pgh.pa.us

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/17f3bc09284e1b529cdf524bbba709af6493f30c

Modified Files
--------------
src/backend/catalog/Makefile | 1 +
src/backend/catalog/heap.c | 330 ---------------------------
src/backend/catalog/objectaddress.c | 95 +-------
src/backend/catalog/pg_attrdef.c | 428 ++++++++++++++++++++++++++++++++++++
src/backend/commands/tablecmds.c | 1 +
src/include/catalog/heap.h | 8 +-
src/include/catalog/pg_attrdef.h | 13 ++
7 files changed, 450 insertions(+), 426 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2022-03-21 18:59:13 pgsql: Fix bogus dependency handling for GENERATED expressions.
Previous Message Tom Lane 2022-03-21 18:37:12 Re: pgsql: Add option to use ICU as global locale provider