From: | Dave Cramer <pg(at)fastcrypt(dot)com> |
---|---|
To: | Paul Tomblin <ptomblin(at)xcski(dot)com> |
Cc: | pgsql-jdbc(at)postgresql(dot)org |
Subject: | Re: What changed? |
Date: | 2007-04-13 20:24:57 |
Message-ID: | 3EF68121-73CD-45FA-996F-F48378CE051F@fastcrypt.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-jdbc |
Paul,
Have you tried a recent driver ?
As Mark pointed out we have some issues with timestamps because java
does not recognize two types.
Dave
On 13-Apr-07, at 2:47 PM, Paul Tomblin wrote:
> This code worked in various versions of Postgres up to and
> including 7.4
> (as bundled with CentOS 4.3), but fails on 8.1 (as bundled with CentOS
> 5.0) with an exception about being unable to determine the type of
> parameter $2:
>
> java.sql.Timestamp startDBDate = null;
> if (startDate != null)
> {
> startDBDate = new java.sql.Timestamp(startDate.getTime());
> }
>
> try
> {
> PreparedStatement stmt = con.prepareStatement(
> "SELECT " + SHOWLIST_COLUMNS +
> "FROM showlists s, showlistsplaylists sc " +
> "WHERE s.id = sc.showlistid AND " +
> " sc.playlistid = ? AND " +
> " (? IS NULL OR s.showtime >= ?) " +
> "ORDER BY screen, showtime");
> int p = 1;
> stmt.setLong(p, playlistID);
> p++;
> if (startDate == null)
> {
> stmt.setNull(p, java.sql.Types.TIMESTAMP);
> p++;
> stmt.setNull(p, java.sql.Types.TIMESTAMP);
> p++;
> }
> else
> {
> stmt.setTimestamp(p, startDBDate);
> p++;
> stmt.setTimestamp(p, startDBDate);
> p++;
> }
>
> ResultSet rs = stmt.executeQuery();
> SortedSet retList = parseShowListResultSet(con, rs,
> venueInfoList);
>
> stmt.close();
>
> Based on something I saw in the list archives, I got it to work by
> casting
> the timestamp parameters using "?::timestamptz". But I'm wondering
> why
> that changed, and are there any other gotchas lurking? Should I
> cast any
> timestamp parameter to either ::timestamp or ::timestamptz
> depending on
> what it is in the db?
>
> --
> Paul Tomblin <ptomblin(at)xcski(dot)com> http://blog.xcski.com/
> I think I'd like to see a Simpsons episode starting up with Bart
> Simpson
> writing 'I will not attempt to undermine the Usenet Cabal'.
> -- J. D. Falk
>
> ---------------------------(end of
> broadcast)---------------------------
> TIP 9: In versions below 8.0, the planner will ignore your desire to
> choose an index scan if your joining column's datatypes do not
> match
From | Date | Subject | |
---|---|---|---|
Next Message | Paul Tomblin | 2007-04-13 20:28:56 | Re: What changed? |
Previous Message | Mark Lewis | 2007-04-13 20:13:26 | Re: What changed? |