jdbc problem with time

Поиск
Список
Период
Сортировка
От Laurette Cisneros
Тема jdbc problem with time
Дата
Msg-id Pine.LNX.4.44.0207091305470.5606-100000@visor.corp.nextbus.com
обсуждение исходный текст
Список pgsql-jdbc
Any ideas on this?

We have a table:

xyzzy=# select sched_id, tod_start, tod_end from schedule where sched_id=1;

 sched_id | tod_start |    tod_end
----------+-----------+---------------
        1 | 00:00:00  | 23:59:59.9990

Notice the millisecond values set for tod_end.  The jdbc driver barfs when
trying to read the time from the result set using the java code:
Time t = rs.getTime("tod_end");

The stack trace from here looks like:

java.lang.StringIndexOutOfBoundsException: String index out of range: 19
at java.lang.String.substring(String.java:1522) at
org.postgresql.jdbc2.ResultSet.toTime(ResultSet.java:1586) at
org.postgresql.jdbc2.ResultSet.getTime(ResultSet.java:385) at
org.postgresql.jdbc2.ResultSet.getTime(ResultSet.java:612) at
COM.NextBus.signad.SelectScheduleDetails.getObject(SelectScheduleDetails.java:30)
at

Here is the offending piece of code.  It fails in the case where the time
string looks like: "HH:MM:SS:mmmm".  The code assumes that anything longer
than 8 characters is a timestamp and tries to get a substring accordingly.
However, the substring call fails, since this is a "time without time
zone" and not an SQL timestamp.

Here is the code:

public static Time toTime(String s) throws SQLException
{
    if (s == null)
        return null; // SQL NULL
    // length == 8: SQL Time
    // length >  8: SQL Timestamp
    try
    {
       return java.sql.Time.valueOf((s.length() == 8) ? s : s.substring(11, 19));
    }
    catch (NumberFormatException e)
    {
       throw new PSQLException("postgresql.res.badtime", s);
    }
}


Thanks for the help,

---
Laurette Cisneros
The Database Group
(510) 420-3137
NextBus Information Systems, Inc.
www.nextbus.com
----------------------------------
"Intelligence complicates. Wisdom simplifies."
  -- Mason Cooley


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

Предыдущее
От: Robert Treat
Дата:
Сообщение: DbVisualizer 3.0
Следующее
От: Barry Lind
Дата:
Сообщение: Re: jdbc problem with time