Re: Strings with null characters produce exceptions when selected or inserted. Attempts to select messages with null bytes produces "ERROR: insufficient data left in message". And inserting produces "ERROR: invalid byte sequence for encoding \"UTF8\": 0x00". Since a null character is a valid UTF code point why is it rejected by the JDBC driver? The attached test can work with Mysql and their JDBC driver.

From: Kris Jurka <books(at)ejurka(dot)com>
To: user2037(at)ymail(dot)com
Cc: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: Strings with null characters produce exceptions when selected or inserted. Attempts to select messages with null bytes produces "ERROR: insufficient data left in message". And inserting produces "ERROR: invalid byte sequence for encoding \"UTF8\": 0x00". Since a null character is a valid UTF code point why is it rejected by the JDBC driver? The attached test can work with Mysql and their JDBC driver.
Date: 2009-06-03 20:41:19
Message-ID: alpine.BSO.2.00.0906031639270.2432@leary.csoft.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

On Wed, 3 Jun 2009, user2037(at)ymail(dot)com wrote:

> Strings with null characters produce exceptions when selected or
> inserted. Attempts to select messages with null bytes produces "ERROR:
> insufficient data left in message". And inserting produces "ERROR:
> invalid byte sequence for encoding \"UTF8\": 0x00".
>
> Since a null character is a valid UTF code point why is it rejected by
> the JDBC driver?

Because the server can't handle it. The server is written in C and tracks
all textual data as C strings which are null terminated. It cannot handle
intermediate null bytes, so the driver is just providing that message as
early as possible to you.

Kris Jurka

In response to

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message Craig Ringer 2009-06-04 00:28:18 Re: jdbc excpetions in pg
Previous Message Kris Jurka 2009-06-03 20:39:21 Re: Headless Exception