From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Michael Paquier <michael(at)paquier(dot)xyz> |
Cc: | Postgres hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
Subject: | Re: __pg_log_level in anonynous enum should be initialized? (Was: pgsql: Change SHA2 implementation based on OpenSSL to use EVP digest ro) |
Date: | 2020-09-28 16:49:29 |
Message-ID: | 300644.1601311769@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers pgsql-hackers |
Michael Paquier <michael(at)paquier(dot)xyz> writes:
> It looks like this commit has broken prairiedog as follows:
> https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=prairiedog&dt=2020-09-28%2005%3A45%3A55
> ld: common symbols not allowed with MH_DYLIB output format with the
> -multi_module option
> ../../../src/common/libpgcommon_shlib.a(logging_shlib.o) definition of
> common ___pg_log_level (size 4)
> Looking around, I have found a similar report from MacPorts and 10.4,
> leading to the fact that it may be better to initialize
> __pg_log_level:
> https://trac.macports.org/ticket/19829
I experimented and confirmed that explicitly initializing __pg_log_level
would suppress this build error on prairiedog. However, I'm not sure
that doing so is a good idea, because it seems to me that this animal
has accidentally saved us from a serious design error. IMO it is quite
unacceptable for libpq to contain either a forced write to stderr or a
forced exit(1). It should be reporting the failure back to the calling
application, instead. So the error handling in this patch needs to be
reconsidered.
Since prairiedog is not likely to be around forever, I propose that
we ought to enforce this going forward by arranging for common/logging.c
to not get built into the libpgcommon_shlib library variant.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2020-09-28 17:44:11 | pgsql: Remove complaints about COLLATE clauses in partition bound value |
Previous Message | Tom Lane | 2020-09-28 16:05:19 | pgsql: Cache the result of converting now() to a struct pg_tm. |
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2020-09-28 17:01:36 | Re: Report error position in partition bound check |
Previous Message | Andrew Dunstan | 2020-09-28 16:43:39 | Re: Support for OUT parameters in procedures |