BUG #5637: JDBC driver method setClob always uses getAsciiStream() - Mailing list pgsql-bugs

From Jochen Terstiege
Subject BUG #5637: JDBC driver method setClob always uses getAsciiStream()
Date
Msg-id 201009021217.o82CHHT8041119@wwwmaster.postgresql.org
Whole thread Raw
Responses Re: BUG #5637: JDBC driver method setClob always uses getAsciiStream()  (Kris Jurka <books@ejurka.com>)
List pgsql-bugs
The following bug has been logged online:

Bug reference:      5637
Logged by:          Jochen Terstiege
Email address:      jochen.terstiege@quinscape.de
PostgreSQL version: 8.4
Operating system:   Windows XP SP3
Description:        JDBC driver method setClob always uses getAsciiStream()
Details:

Using driver: postgresql-8.4-701.jdbc3.jar

The method setClob() in the AbstractJdbc2Statement calls the method
getAsciiStream() on the provided Clob.
This leads to problems if the given Clob contains an UTF-8 encoded string.

Should the driver call getCharacterStream() instead? Can this problem be
solved in a different way?

Relevant code from the class:

    public void setClob(int i, Clob x) throws SQLException
    {
        checkClosed();

        if (x == null)
        {
            setNull(i, Types.CLOB);
            return;
        }

        InputStream l_inStream = x.getAsciiStream();
        ...

pgsql-bugs by date:

Previous
From: "KOIZUMI Satoru"
Date:
Subject: BUG #5636: extra "(" or missing ")"
Next
From: "KOIZUMI Satoru"
Date:
Subject: BUG #5638: disagreement of argument name