Re: Re: [BUGS] BUG #14166: JDBC driver won't parse error message from DB server in German

From: Dave Cramer <pg(at)fastcrypt(dot)com>
To: "Davygora, Yuriy" <Yuriy(dot)Davygora(at)sulzer(dot)de>
Cc: Michael Paquier <michael(dot)paquier(at)gmail(dot)com>, PostgreSQL mailing lists <pgsql-jdbc(at)postgresql(dot)org>
Subject: Re: Re: [BUGS] BUG #14166: JDBC driver won't parse error message from DB server in German
Date: 2016-06-01 11:09:50
Message-ID: CADK3HHJXL26CFHLv0RguspRRZrJd05CvT8RLt9AgTwRr7GjuDw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs pgsql-jdbc

Yuri,

Thanks for looking at this.

Can you subscribe to the pgsql-jdbc mailing list. Your email was held up
until I could approve it

Dave Cramer

davec(at)postgresintl(dot)com
www.postgresintl.com

On 1 June 2016 at 04:20, Davygora, Yuriy <Yuriy(dot)Davygora(at)sulzer(dot)de> wrote:

> _____________________________________________________________________
>
> Hello Michael,
>
> thank you for your feedback. I would like, however, to express a slight
> doubt in your conclusion, if I may. Apparently it is the server that is
> sending a malformed byte sequence, because, as far as I can see, the method
> org.postgresql.core.UTF8Encoding. decode(byte[] data, int offset, int
> length) in the driver does its job just fine: if it gets a correct byte
> sequence for a UTF-8 string it produces a correct UTF-8 string. So my
> naive assumption would be that it is the server which is sending a
> malformed byte sequence. I might, however be wrong, because I am
> overlooking something.
>
> Best regards,
> Yuriy
>
>
>
> _______________________________________________________
> Sulzer GmbH
> Geschaeftsfuehrende Gesellschafter: Dr. Johann Sulzer, Albert Euba, Thomas
> Kahabka
> Geschaeftsfuehrer: Angelika Rudolph, Harald Lothspeich
> Sitz und Registergericht: Stuttgart HRB 7608
> http://www.sulzer.de
>
> -----Ursprüngliche Nachricht-----
> Von: Michael Paquier [mailto:michael(dot)paquier(at)gmail(dot)com]
> Gesendet: Mittwoch, 1. Juni 2016 02:23
> An: Davygora, Yuriy <Yuriy(dot)Davygora(at)sulzer(dot)de>
> Cc: PostgreSQL mailing lists <pgsql-jdbc(at)postgresql(dot)org>
> Betreff: Re: [BUGS] BUG #14166: JDBC driver won't parse error message from
> DB server in German
>
> On Tue, May 31, 2016 at 11:32 PM, <davygora(at)sulzer(dot)de> wrote:
> > The following bug has been logged on the website:
> >
> > Bug reference: 14166
> > Logged by: Yuriy Davygora
> > Email address: davygora(at)sulzer(dot)de
> > PostgreSQL version: 9.5.3
> > Operating system: Windows 7 64 bit
> > Description:
> >
> > Prerequisites (all local, no remote servers):
> > - PostgreSQL DB 9.5.3 with locale German_Germany.1252
> > - PostgreSQL JDBC driver postgresql-9.4.1208.jar (jre8)
> > - Payara JEE server 4.1.1.161.1
> > - Oracle JDK 1.8.0_72
> > - Misconfiguration of the JDBC connection in the domain.xml file
> > causing the DB connection error (see below)
> >
> > The JDBC driver provides a property 'DatabaseName' which I set to the
> > correct database name which is different from the user name. Here is
> > an excerpt from domain.xml:
> >
> > <property name="DatabaseName" value="database_name"></property>
> > <property name="User" value="user_name"></property>
> > <property name="PortNumber" value="5432"></property>
> > <property name="Url"
> > value="jdbc:postgresql://localhost/"></property>
> >
> > --------------------------
> >
> > Bug description:
> >
> > The DB connection error was "database does not exist" (which I found
> > out after switching the locale from German to English). To fix I had
> > to include the database name in the URL as follows:
> >
> > <property name="Url"
> > value="jdbc:postgresql://localhost/database_name?"></property>
> >
> > While the locale of the DB server was still set to German, however, I
> > did get a different message. Here is an excerpt from the stacktrace:
> >
> > Caused by: java.io.IOException: Ungültige UTF-8-Sequenz: das erste
> > Byte ist
> > 10xxxxxx: 132
> > at org.postgresql.core.UTF8Encoding.decode(UTF8Encoding.java:104)
> > at org.postgresql.core.PGStream.ReceiveString(PGStream.java:331)
> > at
> >
> org.postgresql.core.v3.ConnectionFactoryImpl.readStartupMessages(ConnectionFactoryImpl.java:705)
> > at
> >
> org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:213)
> > ... 90 more
> > ]]
> >
> > I downloaded the sources of the JDBC driver to find out where the
> > error comes from. It turned out, that the exception is thrown when the
> > JDBC driver cannot parse the error message from the DB server. Thus, I
> > don't ever get to see the original error message.
> >
> > As mentioned above, setting the locale to English allowed me to see
> > the error and fix it quickly. However, it would be nice, if the error
> > messages could be parsed in any language.
> >
> > --------------------------
> >
> > P.S. This has nothing to do with the reported bug, however it might be
> > a bug in its own right. While the configuration was still as shown in
> > the prerequisites section, occasionally the JDBC connection would
> > work, about 30% of the time, on a seemingly random basis.
>
> This does not seem related to Postgres itself, but to the JDBC driver, so
> I switched the report to pgsql-jdbc.
> --
> Michael
>
>
> --
> Sent via pgsql-jdbc mailing list (pgsql-jdbc(at)postgresql(dot)org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-jdbc
>

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Vladimir Sitnikov 2016-06-01 11:23:29 Re: Re: [BUGS] BUG #14166: JDBC driver won't parse error message from DB server in German
Previous Message Michael Paquier 2016-06-01 08:26:08 Re: BUG #14155: bloom index error with unlogged table

Browse pgsql-jdbc by date

  From Date Subject
Next Message Vladimir Sitnikov 2016-06-01 11:23:29 Re: Re: [BUGS] BUG #14166: JDBC driver won't parse error message from DB server in German
Previous Message Davygora, Yuriy 2016-06-01 08:20:09 Re: [BUGS] BUG #14166: JDBC driver won't parse error message from DB server in German