postgresql/src/backend
Tom Lane 26fa446da6 Add a nonlocalized version of the severity field to client error messages.
This has been requested a few times, but the use-case for it was never
entirely clear.  The reason for adding it now is that transmission of
error reports from parallel workers fails when NLS is active, because
pq_parse_errornotice() wrongly assumes that the existing severity field
is nonlocalized.  There are other ways we could have fixed that, but the
other options were basically kluges, whereas this way provides something
that's at least arguably a useful feature along with the bug fix.

Per report from Jakob Egger.  Back-patch into 9.6, because otherwise
parallel query is essentially unusable in non-English locales.  The
problem exists in 9.5 as well, but we don't want to risk changing
on-the-wire behavior in 9.5 (even though the possibility of new error
fields is specifically called out in the protocol document).  It may
be sufficient to leave the issue unfixed in 9.5, given the very limited
usefulness of pq_parse_errornotice in that version.

Discussion: <A88E0006-13CB-49C6-95CC-1A77D717213C@eggerapps.at>
2016-08-26 16:20:17 -04:00
..
access Fix potential memory leakage from HandleParallelMessages(). 2016-08-26 15:04:05 -04:00
bootstrap Revert CREATE INDEX ... INCLUDING ... 2016-04-08 21:52:13 +03:00
catalog Use LEFT JOINs in some system views in case referenced row doesn't exist. 2016-08-19 17:13:47 -04:00
commands Final pgindent + perltidy run for 9.6. 2016-08-15 13:42:51 -04:00
executor Fix improper repetition of previous results from a hashed aggregate. 2016-08-24 14:38:12 -04:00
foreign Remove GetUserMappingId() and GetUserMappingById(). 2016-07-22 11:32:23 -04:00
lib Remove mergeHyperLogLog. 2016-04-27 10:55:32 -04:00
libpq Add a nonlocalized version of the severity field to client error messages. 2016-08-26 16:20:17 -04:00
main Repair a bit of pgindent damage. 2016-06-09 18:09:17 -04:00
nodes Fix improper repetition of previous results from a hashed aggregate. 2016-08-24 14:38:12 -04:00
optimizer Fix improper repetition of previous results from a hashed aggregate. 2016-08-24 14:38:12 -04:00
parser Improve parsetree representation of special functions such as CURRENT_DATE. 2016-08-16 20:33:01 -04:00
po Translation updates 2016-08-08 11:08:00 -04:00
port Remove obsolete replacement system() on darwin 2016-08-18 12:00:00 -04:00
postmaster Refactor RandomSalt to handle salts of different lengths. 2016-08-18 13:41:17 +03:00
regex Clean up another pre-ANSI-C-ism in regex code: get rid of pcolor typedef. 2016-08-19 13:31:10 -04:00
replication reorderbuffer: preserve errno while reporting error 2016-08-19 14:38:55 -03:00
rewrite pgindent run for 9.6 2016-06-09 18:02:36 -04:00
snowball Update copyright for 2016 2016-01-02 13:33:40 -05:00
storage Extend dsm API with a new function dsm_unpin_segment. 2016-08-23 14:32:23 -04:00
tcop Fix TOAST access failure in RETURNING queries. 2016-08-07 17:46:08 -04:00
tsearch Final pgindent + perltidy run for 9.6. 2016-08-15 13:42:51 -04:00
utils Add a nonlocalized version of the severity field to client error messages. 2016-08-26 16:20:17 -04:00
.gitignore Add .gitignore entries for AIX-specific intermediate build artifacts. 2015-07-08 20:44:22 -04:00
Makefile Provide and use a makefile target to build all generated headers. 2016-07-01 15:09:02 -04:00
common.mk Remove maintainer-check target, fold into normal build 2013-10-10 20:11:56 -04:00
nls.mk Remove trailing slashes from directories in find command 2015-09-18 22:06:54 -04:00