JDBC access is broken in 7.3 beta

From: Mats Lofkvist <mal(at)algonet(dot)se>
To: pgsql-patches(at)postgresql(dot)org, pgsql-hackers(at)postgresql(dot)org
Subject: JDBC access is broken in 7.3 beta
Date: 2002-11-13 12:28:13
Message-ID: 20021113122813.1464.qmail@kairos.algonet.se
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers pgsql-patches

(I posted this on the bugs and jdbc newsgroups last week
but have seen no response. Imho, this really needs to
be fixed since the bug makes it impossible to use the
driver in a multithreaded environment so I'm reposting
to hackers and patches.)

_
Mats Lofkvist
mal(at)algonet(dot)se

The optimization added in
src/interfaces/jdbc/org/postgresql/core/Encoding.java
version 1.7 breaks JDBC since it is not thread safe.

The new method decodeUTF8() uses a static (i.e. class member)
but is synchronized on the instance so it won't work with multiple
instances used in parallel by multiple threads.
(Quick and dirty patch below.)

(The method also isn't using the 'length' parameter correctly,
but since offset always seems to be zero, this bug doesn't show up.)

_
Mats Lofkvist
mal(at)algonet(dot)se

*** org/postgresql/core/Encoding.java~ Sun Oct 20 04:55:50 2002
--- org/postgresql/core/Encoding.java Fri Nov 8 16:13:20 2002
***************
*** 233,239 ****
*/
private static final int pow2_6 = 64; // 26
private static final int pow2_12 = 4096; // 212
! private static char[] cdata = new char[50];

private synchronized String decodeUTF8(byte data[], int offset, int length) {
char[] l_cdata = cdata;
--- 233,239 ----
*/
private static final int pow2_6 = 64; // 26
private static final int pow2_12 = 4096; // 212
! private char[] cdata = new char[50];

private synchronized String decodeUTF8(byte data[], int offset, int length) {
char[] l_cdata = cdata;

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Nigel J. Andrews 2002-11-13 12:28:59 Re: RC1?
Previous Message Verger Nicolas 2002-11-13 10:40:26 RE : RE : Stability problems

Browse pgsql-patches by date

  From Date Subject
Next Message Tom Lane 2002-11-13 16:51:25 Re: CHECKPOINT_WARNING GUC variable addition
Previous Message Billy G. Allie 2002-11-13 04:54:08 Re: [COMMITTERS] pgsql-server/src Makefile.global.in makefiles/ ...