From: | Boszormenyi Zoltan <zb(at)cybertec(dot)at> |
---|---|
To: | Magnus Hagander <magnus(at)hagander(dot)net> |
Cc: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> |
Subject: | [PATCH] Factor out pg_malloc and friends into port code |
Date: | 2013-01-02 12:59:50 |
Message-ID: | 50E42F46.50600@cybertec.at |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
2013-01-02 10:12 keltezéssel, Magnus Hagander írta:
> On Wed, Jan 2, 2013 at 9:59 AM, Boszormenyi Zoltan <zb(at)cybertec(dot)at
> <mailto:zb(at)cybertec(dot)at>> wrote:
>
> 2013-01-02 01:24 keltezéssel, Tom Lane írta:
>
> Boszormenyi Zoltan <zb(at)cybertec(dot)at <mailto:zb(at)cybertec(dot)at>> writes:
>
> 2013-01-01 17:18 keltezéssel, Magnus Hagander írta:
>
> That way we can get around the whole need for changing memory allocation
> across all the
> frontends, no? Like the attached.
>
> Sure it's simpler but then the consistent look of the code is lost.
> 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.
>
> Meh. I find it seriously wrongheaded that something as minor as an
> escape_quotes() function should get to dictate both malloc wrappers
> and error recovery handling throughout every program that might use it.
>
>
> Actually, the unification of pg_malloc and friends wasn't dictated
> 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.
The patch is attached. There is no extra atexit() code in this one.
I did this over my pg_basebackup patch, there are two chunks
that gets rejected if applied without it: one in initdb.c, the other is
in src/port/Makefile. It's because the modified codes are too close
to each other.
Best regards,
Zoltán Böszörményi
--
----------------------------------
Zoltán Böszörményi
Cybertec Schönig & Schönig GmbH
Gröhrmühlgasse 26
A-2700 Wiener Neustadt, Austria
Web: http://www.postgresql-support.de
http://www.postgresql.at/
Attachment | Content-Type | Size |
---|---|---|
pg_malloc-unified-v9.patch | text/x-patch | 24.8 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Magnus Hagander | 2013-01-02 13:03:20 | Re: default SSL compression (was: libpq compression) |
Previous Message | Boszormenyi Zoltan | 2013-01-02 10:54:07 | Re: [PATCH] Make pg_basebackup configure and start standby [Review] |