Re: [PATCH] Make pg_basebackup configure and start standby [Review]
От | Magnus Hagander |
---|---|
Тема | Re: [PATCH] Make pg_basebackup configure and start standby [Review] |
Дата | |
Msg-id | CABUevEwaAvi=N5uZBpkbxvdK+QKq4jMkm2dQ64ooNBv88KMu6g@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: [PATCH] Make pg_basebackup configure and start standby [Review] (Boszormenyi Zoltan <zb@cybertec.at>) |
Ответы |
Re: [PATCH] Make pg_basebackup configure and start standby
[Review]
(Boszormenyi Zoltan <zb@cybertec.at>)
[PATCH] Factor out pg_malloc and friends into port code (Boszormenyi Zoltan <zb@cybertec.at>) |
Список | pgsql-hackers |
On Wed, Jan 2, 2013 at 9:59 AM, Boszormenyi Zoltan <zb@cybertec.at> wrote:
2013-01-02 01:24 keltezéssel, Tom Lane írta:Actually, the unification of pg_malloc and friends wasn't dictatedBoszormenyi Zoltan <zb@cybertec.at> writes:2013-01-01 17:18 keltezéssel, Magnus Hagander írta:Meh. I find it seriously wrongheaded that something as minor as anThat way we can get around the whole need for changing memory allocation across all theSure it's simpler but then the consistent look of the code is lost.
frontends, no? Like the attached.
What about the other patch to unify pg_malloc and friends?
Basically all client code boils down to
fprintf(stderr, ...)
in different disguise in their error reporting, so that patch can
also be simplified but it seems that the atexit() - either explicitly
or hidden behind InitPostgresFrontend() - cannot be avoided.
escape_quotes() function should get to dictate both malloc wrappers
and error recovery handling throughout every program that might use it.
by this little code, it was just that pg_basebackup doesn't provide
a pg_malloc implementation (only pg_malloc0) that is used by
initdb's escape_quotes() function. Then I noticed how wide these
almost identical functions have spread into client apps already.
I would say this unification patch is completely orthogonal to
the patch in $SUBJECT. I will post it in a different thread if it's
wanted at all. The extra atexit() handler is not needed if a simple
fprintf(stderr, ...) error reporting is enough in all clients.
As far as I saw, all clients do exactly this but some of them hide
this behind #define's.
Please do keep that one separate - let's avoid unnecessary feature-creep, whether it's good or bad features.
OK, I will post the core patch building on his code.I like Magnus' version a lot better than that idea.
Thanks.
The question in a different form is: does PostgreSQL supportA bigger issue that I notice with this code is that it's only correct in
backend-safe encodings, as the comment mentions. If we're going to be
putting it into frontend programs, how safe is that going to be?
regards, tom lane
non-ASCII-safe encodings at all (or on the client side)? Forgive
my ignorance and enlighten me: how many such encodings
exist besides EBCDIC? Is UTF-16 non-ASCII-safe?
There are quite a few far-eastern encodings that aren't available as server encondings, and I believe it's all for this reason.
That said, do we need to care *in this specific case*? We use it in initdb to parse config strings, I believe. And we'd use it to parse a conninfo string in pg_basebackup, correct? Perhaps all we need to do is to clearly comment that it doesn't work with non-ascii safe encodings, or rename it to indicate that it's limited in this?
Magnus Hagander
Me: http://www.hagander.net/
Work: http://www.redpill-linpro.com/
В списке pgsql-hackers по дате отправления:
Предыдущее
От: Boszormenyi ZoltanДата:
Сообщение: Re: [PATCH] Make pg_basebackup configure and start standby [Review]
Следующее
От: Boszormenyi ZoltanДата:
Сообщение: Re: [PATCH] Make pg_basebackup configure and start standby [Review]