From: | Dave Cramer <pg(at)fastcrypt(dot)com> |
---|---|
To: | Mark Lewis <mark(dot)lewis(at)mir3(dot)com> |
Cc: | Reuben Pasquini <pasquinir(at)bellsouth(dot)net>, pgsql-jdbc(at)postgresql(dot)org |
Subject: | Re: CallableStatement.setTimestamp bug |
Date: | 2006-11-15 16:08:49 |
Message-ID: | 4CD3B5C0-63AC-404B-8F35-9A506180E1FA@fastcrypt.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-jdbc |
Mark,
It is a known "feature/bug". The driver is doing this on purpose.
see my previous email
Dave
On 15-Nov-06, at 9:47 AM, Mark Lewis wrote:
> You don't happen to have another function called donothing which
> takes a
> single parameter of a different type, do you?
>
> -- Mark
>
> On Tue, 2006-11-14 at 22:05 -0600, Reuben Pasquini wrote:
>> Hello!
>>
>> It appears that CallableStatement.setTimestamp()
>> does not work correctly with the latest 8.1 jdbc driver -
>> I've listed a test case below -
>> sorry if this bug is already known.
>> Let me know if you have any questions.
>> Thanks for all the great work.
>>
>> Reuben
>>
>> --------------------
>>
>> p-nut:/tmp pasquini$ javac Frick.java
>>
>> p-nut:/tmp pasquini$ java -cp postgresql-8.1-407.jdbc3.jar:. Frick
>> Nov 14, 2006 9:59:54 PM Frick main
>> INFO: Caught: org.postgresql.util.PSQLException: ERROR: function
>> donothing("unknown") does not exist
>>
>>
>> p-nut:/tmp pasquini$ cat Frick.java
>> import java.util.*;
>> import java.util.logging.Logger;
>> import java.util.logging.Level;
>> import java.lang.reflect.*;
>> import java.sql.*;
>>
>> /* .............
>> CREATE OR REPLACE FUNCTION doNothing ( TIMESTAMP )
>> RETURNS INTEGER AS $FUNC$
>> BEGIN
>> RETURN 0;
>> END; $FUNC$
>> LANGUAGE plpgsql;
>> */
>>
>> /**
>> * Test postgres JDBC setTimestamp functionality against doNothing()
>> */
>> public class Frick {
>>
>> public static void main ( String[] v_argv ) {
>> Logger log_generic = Logger.getLogger ( "littleware" );
>>
>> try {
>> Class.forName ( "org.postgresql.Driver" );
>> Connection sql_conn = DriverManager.getConnection
>> ( "jdbc:postgresql:littleware://localhost:5432", "littleware_user",
>> "" );
>> CallableStatement sql_call = sql_conn.prepareCall ( "{ ?
>> = call doNothing ( ? ) }" );
>> java.util.Date t_now = new java.util.Date ();
>> sql_call.registerOutParameter ( 1, Types.INTEGER );
>> sql_call.setTimestamp ( 2, new Timestamp ( t_now.getTime
>> () ) );
>> sql_call.execute ();
>> } catch ( Exception e ) {
>> log_generic.log ( Level.INFO, "Caught: " + e );
>> }
>> }
>> }
>>
>>
>> ---------------------------(end of
>> broadcast)---------------------------
>> TIP 6: explain analyze is your friend
>
> ---------------------------(end of
> broadcast)---------------------------
> TIP 5: don't forget to increase your free space map settings
>
From | Date | Subject | |
---|---|---|---|
Next Message | Mark Lewis | 2006-11-15 16:27:26 | Re: CallableStatement.setTimestamp bug |
Previous Message | Mark Lewis | 2006-11-15 14:47:01 | Re: CallableStatement.setTimestamp bug |