From 351372e585746538ef080bfe1219de3f3074a025 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sun, 27 Apr 2003 18:01:46 +0000 Subject: [PATCH] Department of second thoughts: probably still need an IsTransactionState test in there... --- src/backend/utils/mb/mbutils.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/backend/utils/mb/mbutils.c b/src/backend/utils/mb/mbutils.c index a39dad6c42..fe9829a8cf 100644 --- a/src/backend/utils/mb/mbutils.c +++ b/src/backend/utils/mb/mbutils.c @@ -4,7 +4,7 @@ * (currently mule internal code (mic) is used) * Tatsuo Ishii * - * $Header: /cvsroot/pgsql/src/backend/utils/mb/mbutils.c,v 1.40 2003/04/27 17:31:25 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/mb/mbutils.c,v 1.41 2003/04/27 18:01:46 tgl Exp $ */ #include "postgres.h" @@ -106,6 +106,17 @@ SetClientEncoding(int encoding, bool doit) return 0; } + /* + * If we're not inside a transaction then we can't do catalog lookups, + * so fail. After backend startup, this could only happen if we + * are re-reading postgresql.conf due to SIGHUP --- so basically this + * just constrains the ability to change client_encoding on the fly + * from postgresql.conf. Which would probably be a stupid thing to do + * anyway. + */ + if (!IsTransactionState()) + return -1; + /* * Look up the conversion functions. */