From: | Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org> |
---|---|
To: | pgsql-committers(at)postgresql(dot)org |
Subject: | pgsql: Remove hard-coded schema knowledge about pg_attribute from genbk |
Date: | 2018-01-12 14:22:08 |
Message-ID: | E1ea0Dg-0006DO-HW@gemulon.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers |
Remove hard-coded schema knowledge about pg_attribute from genbki.pl
Add the ability to label a column's default value in the catalog header,
and implement this for pg_attribute. A new function in Catalog.pm is
used to fill in a tuple with defaults. The build process will complain
loudly if a catalog entry is incomplete,
Commit 8137f2c3232 labeled variable length columns for the C preprocessor.
Expose that label to genbki.pl so we can exclude those columns from schema
macros in a general fashion. Also, format schema macro entries according
to their types.
This means slightly less code maintenance, but more importantly it's a
proving ground for mechanisms intended to be used in later commits.
While at it, I (Álvaro) couldn't resist making some changes in
genbki.pl: rename some functions to actually indicate their purpose
instead of actively misleading onlookers; and don't iterate on the whole
of pg_type to find the entry for each catalog row, using a hash instead
of an array.
Author: John Naylor, some changes by Álvaro Herrera
Discussion: https://postgr.es/m/CAJVSVGVJHwD8sfDfZW9TbCHWKf=C1YDRM-rF=2JenRU_y+VcFg@mail.gmail.com
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/49c784ece766781250224a371be14af71e7eda93
Modified Files
--------------
src/backend/catalog/Catalog.pm | 70 +++++++++++-
src/backend/catalog/genbki.pl | 228 ++++++++++++++++++-------------------
src/include/catalog/genbki.h | 3 +
src/include/catalog/pg_attribute.h | 22 ++--
4 files changed, 187 insertions(+), 136 deletions(-)
From | Date | Subject | |
---|---|---|---|
Next Message | Michael Meskes | 2018-01-12 15:00:49 | pgsql: Fix parsing of compatibility mode argument. |
Previous Message | Bruce Momjian | 2018-01-12 02:50:31 | pgsql: C comment: fix "the the" mentions in C comments |