Re: pg_basebackup fails on databases with high OIDs
От | Julien Rouhaud |
---|---|
Тема | Re: pg_basebackup fails on databases with high OIDs |
Дата | |
Msg-id | CAOBaU_YyVSmLDLNJo9HKHAy-jYYmnjzThQ8c7E8NfcL3CAMgSg@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: pg_basebackup fails on databases with high OIDs (Peter Eisentraut <peter.eisentraut@2ndquadrant.com>) |
Список | pgsql-hackers |
On Mon, Jan 13, 2020 at 1:49 PM Peter Eisentraut <peter.eisentraut@2ndquadrant.com> wrote: > > On 2020-01-11 17:47, Magnus Hagander wrote: > > 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! :) > > committed Thanks!
В списке pgsql-hackers по дате отправления: