]> granicus.if.org Git - postgresql/commit
The attached patch fixes problems with the JDBC driver handling long
authorBruce Momjian <bruce@momjian.us>
Sun, 15 Jul 2001 04:21:26 +0000 (04:21 +0000)
committerBruce Momjian <bruce@momjian.us>
Sun, 15 Jul 2001 04:21:26 +0000 (04:21 +0000)
commitb08e86d557538c16e482ad10a9bdbc474893d07e
tree101a0329f41b50bdb56292144ddf47cc1b1d96e7
parent4046e58c2478cfcdd4334e2c282b5a42f047ea0b
The attached patch fixes problems with the JDBC driver handling long
null terminated strings.  The FE/BE protocol sends in some cases null
terminated strings to the client.  The docs for the FE/BE protocol state
that there is no limit on the size of a null terminated string sent to
the client and a client should be coded using an expanding buffer to
deal with large strings.  The old code did not do this and gave an error
if a null terminated string was greater than either 4 or 8K.  It appears
that with the advent of TOAST very long SQL statements are becoming more
common, and apparently some error messages from the backend include the
SQL statement thus easily exceeding the 8K limit in the old code.

In fixing I also cleaned up some calls in the JDBC fastpath code that
were not doing character set conversion under multibyte, and removed
some methods that were no longer needed.  I also removed a potential
threading problem with a shared variable that was being used in
Connection.java.

Thanks to Steve Wampler for discovering the problem and sending the
initial diffs that were the basis of this patch.

thanks,
--Barry
src/interfaces/jdbc/org/postgresql/Connection.java
src/interfaces/jdbc/org/postgresql/PG_Stream.java
src/interfaces/jdbc/org/postgresql/fastpath/Fastpath.java