Re: WIP: a way forward on bootstrap data

From: John Naylor <jcnaylor(at)gmail(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: WIP: a way forward on bootstrap data
Date: 2018-03-12 14:25:39
Message-ID: CAJVSVGXncrFiZi0kHSYkheNhDppoUdHzZuOEvAA06bMNLZ12UA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

I wrote:

> I've attached version 9, whose biggest change is to address the above
> points of review. I pushed all of the catalog header build logic into
> catalog Makefile to avoid creating a separate symbol file. This
> involved putting the distprep logic there as well. Enough of the
> structure changed that one or two names didn't make sense anymore, so
> I changed them.
>
> As suggested, the conversion script is now part of the patchset and
> not committed to the repo. To run the conversion, save everything to a
> directory and update the dir vars at the top of
> apply-bootstrap-data-patches.sh accordingly.
>
> A couple things to note that I didn't do:
> -With all the new generated headers, the message "Writing ..." is now
> quite verbose. It might be worth changing that.
> -I'm not sure if I need to change anything involving "make install".
> -I haven't tested the MSVC changes.
> -I didn't change any clients to actually use the new headers directly.
> That might be too ambitious for this cycle anyway.
>
> While this goes through review, I'll get a head start rebasing the
> human readable OIDs and data compaction patches.

It didn't take that long to rebase the remaining parts of the
patchset, so despite what I said above I went ahead and put them in
version 10 (attached), this time via scripted bulk editing rather than
as large patches. Changes since the last patchset that contained these
parts:

-Split out the generation of pg_type OID symbols into its own patch.
-Remove single-purpose magic behaviors.
-Ditto for the ability to abbreviate attribute names. I decided the
added complexity and possible confusion wasn't worth the space
savings.
-Add some more OID macros for pg_aggregate and pg_range that I missed before.

Also, more generally, I cleaned up the apply-patches script and edited
its comments and commit messages.

Tom Lane wrote:
> In 0010, you relabel the types of some OID columns so that genbki.pl
> will know which lookup to apply to them. That's not such a problem for
> the relabelings that are just macros and genbki.pl converts back to
> type OID in the .bki file. But you also did things like s/Oid/regtype/,
> and that IS a problem because it will affect what client code sees in
> those catalog columns. We've discussed changing those columns to
> regfoo types in the past, and decided not to, because of the likelihood
> of breaking client queries. I do not think this patch gets to change
> that policy. So the way to identify the lookup rule needs to be
> independent of whether the column is declared as Oid or an Oid alias type.
> Perhaps an explicit marker telling what transformation to make, like
>
> Oid rngsubtype BKI_LOOKUP(pg_type);
>
> would work for that.

This is also done (now in 0007).

-John Naylor

Attachment Content-Type Size
v10-apply-bootstrap-data-patches.sh application/x-sh 4.3 KB
v10-0001-Create-infrastructure-for-working-with-the-new-data-.patch text/x-patch 13.6 KB
v10-0002-Hand-edits-of-data-files.patch text/x-patch 135.7 KB
v10-0003-Update-catalog-scripts-to-read-data-files.patch text/x-patch 25.2 KB
v10-0004-Clean-up-header-files-and-update-comments.patch text/x-patch 83.2 KB
v10-0005-Remove-symbols-from-catalog-headers.patch text/x-patch 105.3 KB
v10-0006-Use-default-values-on-more-catalogs.patch text/x-patch 21.0 KB
v10-0007-Implement-OID-macro-lookups.patch text/x-patch 20.9 KB
v10-0008-Generate-pg_type-OID-symbols.patch text/x-patch 2.3 KB
v10-convert_header2dat.pl application/x-perl 9.4 KB
v10-rewrite_dat_oid2name.pl application/x-perl 8.6 KB
v10-remove_pg_type_oid_symbols.pl application/x-perl 4.9 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Peter Eisentraut 2018-03-12 14:31:08 Re: FOR EACH ROW triggers on partitioned tables
Previous Message Jeevan Chalke 2018-03-12 14:19:31 Re: [HACKERS] Partition-wise aggregation/grouping