Re: Prepare Statement

From: "Jie Liang" <jie(at)stbernard(dot)com>
To: "Kris Jurka" <books(at)ejurka(dot)com>
Cc: "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us>, <pgsql-sql(at)postgresql(dot)org>, <pgsql-jdbc(at)postgresql(dot)org>
Subject: Re: Prepare Statement
Date: 2004-06-17 20:54:51
Message-ID: E7E213858379814A9AE48CA6754F5ECB03451923@mail01.stbernard.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc pgsql-sql

Kris,
You are right, I modified that piece of code a little bit,
CallableStatement stmt = conn.prepareCall("{?=call chr(?)}");
Then my log file were:
Select * from chr(65) as result;
Select * from chr(66) as result;
......
However, if I use:
PrepareStatement stmt = conn.prepareStatement("SELECT chr(?)");
Then my log file are same as yours.i.e. it use PREPARE and EXECUTE.

So, I am getting confusion.
I think CallableStatement is extended from PrepareStatement, it should
have same behaviou.

Any comment?

Thanks.

Jie Liang

-----Original Message-----
From: Kris Jurka [mailto:books(at)ejurka(dot)com]
Sent: Thursday, June 17, 2004 11:59 AM
To: Jie Liang
Cc: Tom Lane; pgsql-sql(at)postgresql(dot)org; pgsql-jdbc(at)postgresql(dot)org
Subject: RE: [JDBC] Prepare Statement

On Thu, 17 Jun 2004, Jie Liang wrote:

> Kirs,
>
> I re-compile with setUseServerPrepare(true), it works fine, thanks.
> However, reading from my log file, what I saw is that five same
> SELECTs with different argument, so I am wondering that the
> PrepareStatement really save time than individualy execute five
> SELECTs ???
>

This is what I see in the log file:

2004-06-17 11:55:35 [23254] LOG: statement: PREPARE
JDBC_STATEMENT_1(integer) AS SELECT $1 ; EXECUTE JDBC_STATEMENT_1(1)
2004-06-17 11:55:35 [23254] LOG: statement: EXECUTE JDBC_STATEMENT_1(2)
2004-06-17 11:55:35 [23254] LOG: statement: EXECUTE JDBC_STATEMENT_1(3)
2004-06-17 11:55:35 [23254] LOG: statement: EXECUTE JDBC_STATEMENT_1(4)
2004-06-17 11:55:35 [23254] LOG: statement: EXECUTE JDBC_STATEMENT_1(5)
2004-06-17 11:55:35 [23254] LOG: statement: DEALLOCATE JDBC_STATEMENT_1

I don't know why this would be different for you. What exact version of

the server and driver are you using?

Kris Jurka

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message Albretch 2004-06-17 21:08:43 Portable Java Data Layer based on JDBC
Previous Message Jan de Visser 2004-06-17 19:33:53 Re: ResultSet.updateCharacterStream

Browse pgsql-sql by date

  From Date Subject
Next Message Kris Jurka 2004-06-17 22:25:54 Re: Prepare Statement
Previous Message Bruno Wolff III 2004-06-17 20:01:23 Re: Optimal query suggestion needed