Re: [PATCHES] JDBC access is broken in 7.3 beta
От | Barry Lind |
---|---|
Тема | Re: [PATCHES] JDBC access is broken in 7.3 beta |
Дата | |
Msg-id | 3DD3816B.80307@xythos.com обсуждение исходный текст |
Ответ на | JDBC access is broken in 7.3 beta (Mats Lofkvist <mal@algonet.se>) |
Список | pgsql-hackers |
Mats, Patch applied. (I also fixed the 'length' problem you reported as well). thanks, --Barry Mats Lofkvist wrote: > (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@algonet.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@algonet.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; > > > ---------------------------(end of broadcast)--------------------------- > TIP 4: Don't 'kill -9' the postmaster >
В списке pgsql-hackers по дате отправления: