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: | Re: [PATCH] Make pg_basebackup configure and start standby [Review] |
Date: | 2012-11-22 10:06:52 |
Message-ID: | 50ADF93C.2090009@cybertec.at |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hi,
2012-11-21 18:39 keltezéssel, Boszormenyi Zoltan írta:
> 2012-11-21 15:29 keltezéssel, Tom Lane írta:
>> Boszormenyi Zoltan <zb(at)cybertec(dot)at> writes:
>>> pg_basebackup needs pg_malloc() to call disconnect_and_exit(1)
>>> instead to quit cleanly and not leave an "unexpected EOF from client"
>>> message in the server log. Which is a macro at the moment, but
>>> has to be turned into a real function for the reasons below.
>> man 2 atexit
>
> It doesn't really help to make it easier. E.g: pg_strdup() in psql does this:
>
> char *
> pg_strdup(const char *string)
> {
> char *tmp;
>
> if (!string)
> {
> psql_error("%s: pg_strdup: cannot duplicate null pointer (internal
> error)\n",
> pset.progname);
> exit(EXIT_FAILURE);
> }
> tmp = strdup(string);
> if (!tmp)
> {
> psql_error("out of memory\n");
> exit(EXIT_FAILURE);
> }
> return tmp;
> }
>
> The function passed to atexit() still needs to know which string to print
> and this needs an internal variable. Also, the actions taken on pg_malloc/pg_strdup
> errors don't produce the exact same messages.
>
> This is why I suggest the attached 03-pg_malloc-unified-v2.patch.
>
> The 04-tarutils-v2.patch unifies the common tar functions and the string functions
> like print_val() used by _tarCreateHeader (previously _tarWriteHeader) and
> escape_quotes().
The PQconninfo patch grew its own mail thread (this is why
there's no 1st patch in this series now) and I reworked the order
of the patches to make it more logical. This made the pg_basebackup
patch 5K smaller.
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 |
---|---|---|
02-pg_malloc-unified-v3.patch | text/x-patch | 36.6 KB |
03-tarutils-strutils-v3.patch | text/x-patch | 16.9 KB |
04-pg_basebackup-v17.patch | text/x-patch | 15.1 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Chen Huajun | 2012-11-22 10:09:20 | fix ecpg core dump when there's a very long struct variable name in .pgc file |
Previous Message | Albe Laurenz | 2012-11-22 09:37:52 | Re: FDW for PostgreSQL |