Re: Java Studio Creator Fix/Hack

From: Kris Jurka <books(at)ejurka(dot)com>
To: Pucky Loucks <ploucks(at)h2st(dot)com>
Cc: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: Java Studio Creator Fix/Hack
Date: 2004-12-11 01:53:55
Message-ID: Pine.BSO.4.56.0412102043320.31603@leary.csoft.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

On Fri, 10 Dec 2004, Pucky Loucks wrote:

> Hi everyone, I noticed at TODO for getMetaData() on the 8.0 and figured
> I'd give this task a try. I now am able to use Java Studio Creator
> with Postgresql 7.4.6.
>
> public ResultSetMetaData getMetaData() throws SQLException
> { ResultSet rs = null;
> checkClosed();
> rs = getResultSet();
>
> if(rs == null)
> {
> // the following code hack has not been fully tested, therefor use at
> your own risk.
> /// by Pucky Loucks of How2share Technologies (creators of PiXPO)
>
> StatementResultHandler handler = new StatementResultHandler();
>
> connection.getQueryExecutor().execute(preparedQuery,
> preparedParameters,
> handler,
> 0,
> 0,
> QueryExecutor.QUERY_ONESHOT);
> rs = handler.getResults().getResultSet();
> }
>
> return rs.getMetaData();
> }
> ===================END OF CODE HACK=====

This patch doesn't really work. It assumes that the PreparedStatement
doesn't have side effects and that all parameters have been set.

Consider:

PreparedStatement pst = con.prepareStatement("UPDATE tab SET x=x+1");
pst.getMetaData();
pst.execute();

Now all of a sudden x = x+2. Actually your patch will throw a
NullPointerException, but that's a simple code issue.

Consider:

PreparedStatement pst = con.prepareStatement("SELECT * FROM t WHERE x=?");
pst.getMetaData();

Fails with: org.postgresql.util.PSQLException: No value specified for
parameter 1.

The planned way to implement this feature is with the V3 protocol issuing
Parse/Bind/Describe/ClosePortal without ever executing it.

Kris Jurka

In response to

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message Kris Jurka 2004-12-11 02:10:44 Re: Translation update: pt_BR
Previous Message Kris Jurka 2004-12-11 01:22:21 Re: PostgreSQL + SSL - sun.security.validator.ValidatorException