pgsql: Fix SetClientEncoding() to maintain a cache of previously

From: tgl(at)postgresql(dot)org (Tom Lane)
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Fix SetClientEncoding() to maintain a cache of previously
Date: 2009-04-02 17:30:53
Message-ID: 20090402173053.CCF96754ADE@cvs.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Log Message:
-----------
Fix SetClientEncoding() to maintain a cache of previously selected encoding
conversion functions. This allows transaction rollback to revert to a
previous client_encoding setting without doing fresh catalog lookups.
I believe that this explains and fixes the recent report of "failed to commit
client_encoding" failures.

This bug is present in 8.3.x, but it doesn't seem prudent to back-patch
the fix, at least not till it's had some time for field testing in HEAD.

In passing, remove SetDefaultClientEncoding(), which was used nowhere.

Modified Files:
--------------
pgsql/src/backend/utils/mb:
mbutils.c (r1.82 -> r1.83)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/mb/mbutils.c?r1=1.82&r2=1.83)
pgsql/src/include/mb:
pg_wchar.h (r1.87 -> r1.88)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/mb/pg_wchar.h?r1=1.87&r2=1.88)

Browse pgsql-committers by date

  From Date Subject
Next Message Bruce Momjian 2009-04-02 17:38:26 pgsql: Do not show information_schema in \d* commands, unless 'S' or
Previous Message Simon Riggs 2009-04-02 17:11:23 Re: [COMMITTERS] pgsql: If we expect a hash join to be performed in multiple batches,