pgsql: Install a more robust solution for the problem of infinite

Lists: pgsql-committers
From: tgl(at)postgresql(dot)org (Tom Lane)
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Install a more robust solution for the problem of infinite
Date: 2008-10-27 19:37:22
Message-ID: 20081027193722.283B67545A4@cvs.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-committers

Log Message:
-----------
Install a more robust solution for the problem of infinite error-processing
recursion when we are unable to convert a localized error message to the
client's encoding. We've been over this ground before, but as reported by
Ibrar Ahmed, it still didn't work in the case of conversion failures for
the conversion-failure message itself :-(. Fix by installing a "circuit
breaker" that disables attempts to localize this message once we get into
recursion trouble.

Patch all supported branches, because it is in fact broken in all of them;
though I had to add some missing translations to the older branches in
order to expose the failure in the particular test case I was using.

Modified Files:
--------------
pgsql/doc/src/sgml:
sources.sgml (r2.31 -> r2.32)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/sources.sgml?r1=2.31&r2=2.32)
pgsql/src/backend:
nls.mk (r1.22 -> r1.23)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/nls.mk?r1=1.22&r2=1.23)
pgsql/src/backend/utils/error:
elog.c (r1.208 -> r1.209)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/error/elog.c?r1=1.208&r2=1.209)
pgsql/src/backend/utils/mb:
wchar.c (r1.66 -> r1.67)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/mb/wchar.c?r1=1.66&r2=1.67)
pgsql/src/include/utils:
elog.h (r1.96 -> r1.97)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/utils/elog.h?r1=1.96&r2=1.97)