Re: pg_basebackup fails on databases with high OIDs - Mailing list pgsql-hackers

From Magnus Hagander
Subject Re: pg_basebackup fails on databases with high OIDs
Date
Msg-id CABUevEyO2u3Mo_BH+SmMEAJbywWpb7=HLTB3d1iyCaXZ43mGsQ@mail.gmail.com
Whole thread Raw
In response to Re: pg_basebackup fails on databases with high OIDs  (Julien Rouhaud <rjuju123@gmail.com>)
Responses Re: pg_basebackup fails on databases with high OIDs  (Peter Eisentraut <peter.eisentraut@2ndquadrant.com>)
List pgsql-hackers
On Sat, Jan 11, 2020 at 5:44 PM Julien Rouhaud <rjuju123@gmail.com> wrote:
>
> On Sat, Jan 11, 2020 at 08:21:11AM +0100, Peter Eisentraut wrote:
> > On 2020-01-06 21:00, Magnus Hagander wrote:
> > > > +0.5 to avoid calling OidInputFunctionCall()
> > >
> > > Or just directly using atol() instead of atoi()? Well maybe not
> > > directly but in a small wrapper that verifies it's not bigger than an
> > > unsigned?
> > >
> > > Unlike in cases where we use oidin etc, we are dealing with data that
> > > is "mostly trusted" here, aren't we? Meaning we could call atol() on
> > > it, and throw an error if it overflows, and be done with it?
> > > Subdirectories in the data directory aren't exactly "untrusted enduser
> > > data"...
> >
> > Yeah, it looks like we are using strtoul() without additional error checking
> > in similar situations, so here is a patch doing it like that.
>
> > -                                                             true, isDbDir ? pg_atoi(lastDir + 1, sizeof(Oid), 0)
:InvalidOid);
 
> > +                                                             true, isDbDir ? (Oid) strtoul(lastDir + 1, NULL, 10)
:InvalidOid);
 
>
> Looking at some other code, I just discovered the atooid() macro that already
> does the same, maybe it'd be better for consistency to use that instead?

+1. Whie it does the same thing, consistency is good! :)

-- 
 Magnus Hagander
 Me: https://www.hagander.net/
 Work: https://www.redpill-linpro.com/



pgsql-hackers by date:

Previous
From: Julien Rouhaud
Date:
Subject: Re: pg_basebackup fails on databases with high OIDs
Next
From: David Fetter
Date:
Subject: Re: Make autovacuum sort tables in descending order of xid_age