Re: [PATCHES] Anoter JDBC Error

Поиск
Список
Период
Сортировка
От Barry Lind
Тема Re: [PATCHES] Anoter JDBC Error
Дата
Msg-id 3DB1D920.2040801@xythos.com
обсуждение исходный текст
Ответ на Re: Anoter JDBC Error  (Kris Jurka <books@ejurka.com>)
Список pgsql-jdbc
Patch applied.

--Barry

Kris Jurka wrote:
> This is doing a getInt on a field with a value of the empty string.  The
> application will still get an error after this patch, but it will be more
> obvious where the error is coming from.
>
> This patch also fixes a problem when retrieving negative monetary values.
>
> On Wed, 9 Oct 2002, Aaron Mulder wrote:
>
>
>>    Haven't had a chance to look into this one yet -- came up in
>>DBVis, while looking for the columns for a new table, so it's probably
>>another DBMD query.  Something assuming a String won't be empty?
>>
>>java.lang.StringIndexOutOfBoundsException: String index out of range: 0
>>    at java.lang.String.charAt(String.java:460)
>>    at org.postgresql.jdbc1.AbstractJdbc1ResultSet.getFixedString(AbstractJdbc1ResultSet.java:650)
>>    at org.postgresql.jdbc1.AbstractJdbc1ResultSet.getInt(AbstractJdbc1ResultSet.java:144)
>>
>>    BTW, thanks for the ' fix.
>>
>>Aaron
>>
>>
>>---------------------------(end of broadcast)---------------------------
>>TIP 3: if posting/reading through Usenet, please send an appropriate
>>subscribe-nomail command to majordomo@postgresql.org so that your
>>message can get through to the mailing list cleanly
>>
>>
>>
>>------------------------------------------------------------------------
>>
>>Index: src/interfaces/jdbc/org/postgresql/jdbc1/AbstractJdbc1ResultSet.java
>>===================================================================
>>RCS file: /projects/cvsroot/pgsql-server/src/interfaces/jdbc/org/postgresql/jdbc1/AbstractJdbc1ResultSet.java,v
>>retrieving revision 1.6
>>diff -c -r1.6 AbstractJdbc1ResultSet.java
>>*** src/interfaces/jdbc/org/postgresql/jdbc1/AbstractJdbc1ResultSet.java    2002/09/06 21:23:06    1.6
>>--- src/interfaces/jdbc/org/postgresql/jdbc1/AbstractJdbc1ResultSet.java    2002/10/11 23:02:46
>>***************
>>*** 646,651 ****
>>--- 646,655 ----
>>          if (wasNullFlag)
>>              return null;
>>
>>+         // if we don't have at least 2 characters it can't be money.
>>+         if (s.length() < 2)
>>+             return s;
>>+
>>          // Handle Money
>>          if (s.charAt(0) == '(')
>>          {
>>***************
>>*** 654,659 ****
>>--- 658,667 ----
>>          if (s.charAt(0) == '$')
>>          {
>>              s = s.substring(1);
>>+         }
>>+         else if (s.charAt(0) == '-' && s.charAt(1) == '$')
>>+         {
>>+             s = "-" + s.substring(2);
>>          }
>>
>>          return s;
>>
>>
>>------------------------------------------------------------------------
>>
>>
>>---------------------------(end of broadcast)---------------------------
>>TIP 2: you can get off all lists at once with the unregister command
>>    (send "unregister YourEmailAddressHere" to majordomo@postgresql.org)
>



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

Предыдущее
От: Barry Lind
Дата:
Сообщение: Re: build.xml patch
Следующее
От: Sean Liu
Дата:
Сообщение: Re: null: was is the default returned value?