pgsql: Second try at getting useful errors out of newlocale/_create_loc

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Second try at getting useful errors out of newlocale/_create_loc
Date: 2017-08-01 21:17:25
Message-ID: E1dceXd-0004aj-II@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Second try at getting useful errors out of newlocale/_create_locale.

The early buildfarm returns for commit 1e165d05f are pretty awful:
not only does Windows not return a useful error, but it looks like
a lot of Unix-ish platforms don't either. Given the number of
different errnos seen so far, guess that what's really going on is
that some newlocale() implementations fail to set errno at all.
Hence, let's try zeroing errno just before newlocale() and then
if it's still zero report as though it's ENOENT. That should cover
the Windows case too.

It's clear that we'll have to drop the regression test case, unless
we want to maintain a separate expected-file for platforms without
HAVE_LOCALE_T. But I'll leave it there awhile longer to see if this
actually improves matters or not.

Discussion: https://postgr.es/m/CAKKotZS-wcDcofXDCH=sidiuajE+nqHn2CGjLLX78anyDmi3gQ@mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/514f6132935d5bda84a475d4b70fe2bcfe116766

Modified Files
--------------
src/backend/utils/adt/pg_locale.c | 16 ++++++++++++----
1 file changed, 12 insertions(+), 4 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2017-08-02 00:15:18 pgsql: Revert test case added by commit 1e165d05fe06a9072867607886f818b
Previous Message Tom Lane 2017-08-01 20:49:36 pgsql: Suppress less info in regression tests using DROP CASCADE.