JDBC access broken in 7.3 beta

Поиск
Список
Период
Сортировка
От Mats Lofkvist
Тема JDBC access broken in 7.3 beta
Дата
Msg-id y2qadkkf5p1.fsf@algonet.se
обсуждение исходный текст
Список pgsql-bugs
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;

В списке pgsql-bugs по дате отправления:

Предыдущее
От: Reto Stamm
Дата:
Сообщение: Re: Sequence Start number not dumped correctly
Следующее
От: Tom Lane
Дата:
Сообщение: Re: I can't start postgres anymore