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(-)
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 |