From: | Michael Paquier <michael(at)paquier(dot)xyz> |
---|---|
To: | Amit Langote <amitlangote09(at)gmail(dot)com> |
Cc: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Justin Pryzby <pryzby(at)telsasoft(dot)com>, Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: assert pg_class.relnatts is consistent |
Date: | 2020-02-14 09:47:23 |
Message-ID: | 20200214094723.GA97911@paquier.xyz |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Fri, Feb 14, 2020 at 06:00:05PM +0900, Amit Langote wrote:
> On Fri, Feb 14, 2020 at 2:58 PM Amit Langote <amitlangote09(at)gmail(dot)com> wrote:
> > On Fri, Feb 14, 2020 at 1:04 AM Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> > > I've been burnt by this too :-(. However, I think this patch is
> > > completely the wrong way to go about improving this. What we should
> > > be doing, now that we have all that perl code generating postgres.bki,
> > > is eliminating the problem at the source. That is, drop the hand-coded
> > > relnatts values from pg_class.dat altogether, and let the perl code fill
> > > it in --- compare the handling of pg_proc.pronargs for instance.
> >
> > I can't write Perl myself (maybe Justin), but +1 to this idea.
>
> I tried and think it works but not sure if that's good Perl
> programming. See the attached.
I quite like what you have here. Please note that this comment in
genbki.pl is incorrect regarding relnatts (the last part could just be
deleted):
# Note: only bootstrap catalogs, ie those marked BKI_BOOTSTRAP, need to
# have entries here. Be sure that the OIDs listed here match those given in
# their CATALOG and BKI_ROWTYPE_OID macros, and that the relnatts values are
# correct.
--
Michael
From | Date | Subject | |
---|---|---|---|
Next Message | John Naylor | 2020-02-14 09:50:47 | Re: assert pg_class.relnatts is consistent |
Previous Message | Pavel Stehule | 2020-02-14 09:19:17 | Re: [Proposal] Global temporary tables |