Skip site navigation (1) Skip section navigation (2)

Re: CURRENT CVS: MULTIBYTE: CANT CONNECT....

From: Karel Zak <zakkr(at)zf(dot)jcu(dot)cz>
To: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>, pgsql-hackers <pgsql-hackers(at)postgreSQL(dot)org>, pgsql-patches <pgsql-patches(at)postgreSQL(dot)org>
Subject: Re: CURRENT CVS: MULTIBYTE: CANT CONNECT....
Date: 2001-09-08 10:50:47
Message-ID: 20010908125047.A13116@zf.jcu.cz (view raw or flat)
Thread:
Lists: pgsql-bugspgsql-hackerspgsql-patches
> On Sat, Sep 08, 2001 at 10:29:38AM +0200, Karel Zak wrote:
> > On Fri, Sep 07, 2001 at 09:06:18PM -0500, Larry Rosenman wrote:
> > > I finally got all the way through a compile set:
> > > 
> > > CC=cc CXX=CC ./configure  --prefix=/usr/local/pgsql --enable-syslog \
> > > 	--with-CXX --with-perl --enable-multibyte --enable-cassert \
> > > 	--with-includes=/usr/local/include --with-libs=/usr/local/lib \
> > > 	--enable-debug \
> > > 	--with-tcl --with-tclconfig=/usr/local/lib \
> > > 	--with-tkconfig=/usr/local/lib  --enable-locale 
> > > and when I try to connect to an existing DB, loaded from a pg_dump
> > > from the previous 7.2devel sources, I get:
> > > TRAP: Failed Assertion("!(ClientEncoding):", File: "mbutils.c", Line:
> > > 314)
> > > !(ClientEncoding) (0) [No such file or directory]
> > 
> >  Interesting. I don't know why, but someting don't call
> > pg_set_client_encoding() before usage encoding routines (maybe
> > libpq don't set client encoding if it's default SQL_ASCII, but
> > I'm almost sure that I check this case).
> > 
> >  A simple and robus solution is in the begin of mbutils.c set default
> > ClientEncoding to SQL_ASCII (like default DatabaseEncoding). Bruce, can
> > you change it? It's one line change. Again thanks.

 Forget it! A default client encoding must be set by actual database encoding... 
Please apply the small attached patch that solve it better.

 I check and test it with attached patch and it works correct:

test=# SHOW CLIENT_ENCODING;
NOTICE:  Current client encoding is SQL_ASCII
SHOW VARIABLE
test=# SHOW SERVER_ENCODING;
NOTICE:  Current server encoding is SQL_ASCII
SHOW VARIABLE
test=# CREATE DATABASE l2 WITH ENCODING='ISO-8859-2';
CREATE DATABASE
test=# \c l2
You are now connected to database l2.
l2=# \l
        List of databases
   Name    |  Owner   | Encoding
-----------+----------+-----------
 l2        | zakkr    | LATIN2
 template0 | postgres | SQL_ASCII
 template1 | postgres | SQL_ASCII
 test      | postgres | SQL_ASCII
(4 rows)

l2=# SHOW SERVER_ENCODING;
NOTICE:  Current server encoding is LATIN2
SHOW VARIABLE
l2=# SHOW CLIENT_ENCODING;
NOTICE:  Current client encoding is LATIN2
SHOW VARIABLE
l2=#

 Larry, wait when Bruce apply this small change and try previous
examples.

		Karel

-- 
 Karel Zak  <zakkr(at)zf(dot)jcu(dot)cz>
 http://home.zf.jcu.cz/~zakkr/
 
 C, PostgreSQL, PHP, WWW, http://docs.linux.cz, http://mape.jcu.cz

Attachment: mb-09082001.patch.gz
Description: application/x-gzip (408 bytes)

In response to

Responses

pgsql-hackers by date

Next:From: Bruce MomjianDate: 2001-09-08 14:30:23
Subject: Re: CURRENT CVS: MULTIBYTE: CANT CONNECT....
Previous:From: Karel ZakDate: 2001-09-08 08:29:39
Subject: Re: CURRENT CVS: MULTIBYTE: CANT CONNECT....

pgsql-bugs by date

Next:From: Bruce MomjianDate: 2001-09-08 14:30:23
Subject: Re: CURRENT CVS: MULTIBYTE: CANT CONNECT....
Previous:From: Karel ZakDate: 2001-09-08 08:29:39
Subject: Re: CURRENT CVS: MULTIBYTE: CANT CONNECT....

pgsql-patches by date

Next:From: Peter EisentrautDate: 2001-09-08 12:03:32
Subject: Re: attribute names & typecast/psql default port
Previous:From: Gavin SherryDate: 2001-09-08 10:45:12
Subject: attribute names & typecast/psql default port

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group