From: | Amit Langote <amitlangote09(at)gmail(dot)com> |
---|---|
To: | John Naylor <john(dot)naylor(at)2ndquadrant(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 14:22:05 |
Message-ID: | CA+HiwqGnoqzr6kWfzS56FxhT49iZXZF_susVNHwUHoLrK=v8pw@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hi John,
On Fri, Feb 14, 2020 at 6:50 PM John Naylor <john(dot)naylor(at)2ndquadrant(dot)com> wrote:
> On Fri, Feb 14, 2020 at 5:00 PM Amit Langote <amitlangote09(at)gmail(dot)com> wrote:
> > I tried and think it works but not sure if that's good Perl
> > programming. See the attached.
>
> Hi Amit,
> I took this for a spin -- I just have a couple comments.
Thanks for chiming in.
> + elsif ($attname eq 'relnatts')
> + {
> + ;
> + }
>
> With your patch, I get this when running
> src/include/catalog/reformat_dat_file.pl:
>
> strip_default_values: pg_class.relnatts undefined
I think I have fixed this in the attached.
> + if ($catname eq "pg_class" && $attname eq "relnatts")
> + {
> + $bki_values{$attname} = $catalog_ncols{$bki_values{relname}};
> + }
> +
>
> You could avoid the name/attr checks if you do it while building the
> pg_class lookup table, like this:
>
> foreach my $row (@{ $catalog_data{pg_class} })
> {
> $classoids{ $row->{relname} } = $row->{oid};
> +
> + # Also fill in correct value for relnatts.
> + $row->{relnatts} = $catalog_ncols{ $row->{relname} };
> }
Did this too. Attached updated patch, which also addresses Michael's comment.
I'm still trying to understand your comment about using placeholder
BKI_DEFAULT...
Thanks,
Amit
Attachment | Content-Type | Size |
---|---|---|
v2-0001-Don-t-require-relnatts-to-be-specified-in-pg_clas.patch | application/octet-stream | 5.9 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2020-02-14 14:42:40 | Re: [HACKERS] Moving relation extension locks out of heavyweight lock manager |
Previous Message | Alastair Turner | 2020-02-14 13:45:55 | Re: Parallel copy |