[PATCH] pg_upgrade: Split off pg_fatal() from pg_log()
The experiences with elog() and ereport() have shown that having one
function that can return or not depending on some log level parameter
isn't a good idea when you want to communicate well with the compiler.
In pg_upgrade, there is a similar case with the pg_log() function.
Since that isn't a public API, I'm proposing to change it and introduce
a separate function pg_fatal() for those cases where the calls don't
return.
Attachments:
0001-pg_upgrade-Split-off-pg_fatal-from-pg_log.patchtext/x-patch; charset=UTF-8; name=0001-pg_upgrade-Split-off-pg_fatal-from-pg_log.patchDownload+165-174
Hi Peter,
On 2013-09-13 04:50, Peter Eisentraut wrote:
The experiences with elog() and ereport() have shown that having one
function that can return or not depending on some log level parameter
isn't a good idea when you want to communicate well with the compiler.
In pg_upgrade, there is a similar case with the pg_log() function.
Since that isn't a public API, I'm proposing to change it and introduce
a separate function pg_fatal() for those cases where the calls don't
return.
I think the reasoning behind this patch is sound. However, I would like
to raise a couple of small questions:
1) Is there a reason for the fmt string not being const char*? You
changed it for pg_log_v(), but not for pg_log() and pg_fatal().
2) Allowing PG_FATAL to be passed to pg_log() seems weird, but I
don't feel strongly about that.
Other than that, the patch looks good to me.
Regards,
Marko Tiikkaja
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers
On Thu, Sep 12, 2013 at 10:50:42PM -0400, Peter Eisentraut wrote:
The experiences with elog() and ereport() have shown that having one
function that can return or not depending on some log level parameter
isn't a good idea when you want to communicate well with the compiler.
In pg_upgrade, there is a similar case with the pg_log() function.
Since that isn't a public API, I'm proposing to change it and introduce
a separate function pg_fatal() for those cases where the calls don't
return.
Fine with me.
--
Bruce Momjian <bruce@momjian.us> http://momjian.us
EnterpriseDB http://enterprisedb.com
+ It's impossible for everything to be true. +
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers
On Sun, 2013-09-15 at 18:27 +0200, Marko Tiikkaja wrote:
I think the reasoning behind this patch is sound. However, I would like
to raise a couple of small questions:1) Is there a reason for the fmt string not being const char*? You
changed it for pg_log_v(), but not for pg_log() and pg_fatal().
Good catch. I think I just left the existing code alone. I'll fix it.
2) Allowing PG_FATAL to be passed to pg_log() seems weird, but I
don't feel strongly about that.
Yeah, it's a bit weird. It's just because it all ends up in pg_log_v().
We could have pg_log() error about it, but that seems a bit excessive.
It's not a public API or anything.
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers
On Tue, Oct 1, 2013 at 9:33 PM, Peter Eisentraut <peter_e@gmx.net> wrote:
On Sun, 2013-09-15 at 18:27 +0200, Marko Tiikkaja wrote:
I think the reasoning behind this patch is sound. However, I would like
to raise a couple of small questions:1) Is there a reason for the fmt string not being const char*? You
changed it for pg_log_v(), but not for pg_log() and pg_fatal().Good catch. I think I just left the existing code alone. I'll fix it.
2) Allowing PG_FATAL to be passed to pg_log() seems weird, but I
don't feel strongly about that.Yeah, it's a bit weird. It's just because it all ends up in pg_log_v().
We could have pg_log() error about it, but that seems a bit excessive.
It's not a public API or anything.
Since there are several votes in favor of this patch and none opposed,
I'm marking it Ready for Committer.
Peter, do you plan to commit it?
--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers