Re: recovering from "found xmin ... from before relfrozenxid ..." - Mailing list pgsql-hackers

From Ashutosh Sharma
Subject Re: recovering from "found xmin ... from before relfrozenxid ..."
Date
Msg-id CAE9k0P=og9JqFw90Txi+UZie0riczJMK31eJorAT=WcrO+9mvw@mail.gmail.com
Whole thread Raw
In response to Re: recovering from "found xmin ... from before relfrozenxid ..."  (Asim Praveen <pasim@vmware.com>)
Responses Re: recovering from "found xmin ... from before relfrozenxid ..."  (Robert Haas <robertmhaas@gmail.com>)
List pgsql-hackers
Hi Asim,

Thanks for having a look into the patch and for sharing your feedback.
Please find my comments inline below:

On Thu, Aug 13, 2020 at 12:36 PM Asim Praveen <pasim@vmware.com> wrote:
>
> Hi Ashutosh
>
> I stumbled upon this thread today, went through your patch and it looks good.  A minor suggestion in
sanity_check_relation():
>
>         if (rel->rd_rel->relam != HEAP_TABLE_AM_OID)
>                 ereport(ERROR,
>                                 (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
>                                  errmsg("only heap AM is supported")));
>
> Instead of checking the access method OID, it seems better to check the handler OID like so:
>
>         if (rel->rd_amhandler != HEAP_TABLE_AM_HANDLER_OID)
>
> The reason is current version of sanity_check_relation() would emit error for the following case even when the table
structureis actually heap. 
>
>         create access method myam type table handler heap_tableam_handler;
>         create table mytable (…) using myam;
>

This looks like a very good suggestion to me. I will do this change in
the next version. Just wondering if we should be doing similar changes
in other contrib modules (like pgrowlocks, pageinspect and
pgstattuple) as well?

--
With Regards,
Ashutosh Sharma
EnterpriseDB:http://www.enterprisedb.com



pgsql-hackers by date:

Previous
From: Magnus Hagander
Date:
Subject: Re: run pgindent on a regular basis / scripted manner
Next
From: Alvaro Herrera
Date:
Subject: Re: Switch to multi-inserts for pg_depend