Re: Synthesize support for Statement.getGeneratedKeys()?

From: Ken Johanson <pg-user(at)kensystem(dot)com>
To: pgsql-jdbc(at)postgresql(dot)org
Cc: Kris Jurka <books(at)ejurka(dot)com>
Subject: Re: Synthesize support for Statement.getGeneratedKeys()?
Date: 2007-01-30 04:37:53
Message-ID: 45BECBA1.8080508@kensystem.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

Hi Kris, were you able to look at this? If time wont permit that I'll
dig back in; though I'd prefer not to duplicate any work your're doing,
of course.

Thank,
ken

Kris Jurka wrote:
>
>
> On Fri, 26 Jan 2007, Ken Johanson wrote:
>
>> http://onnet.cc/AbstractJdbc3Statement.patch
>> http://onnet.cc/AbstractJdbc2Statement.patch
>
> I can't get the first patch to apply cleanly at all, erroring with
>
> patching file AbstractJdbc3Statement.java
> patch: **** Premature `---' at line 33; check line numbers at line 21
>
> And even to get to that point I had to change from windows \ to unix /
> directory separators. Could we get a patch that is easy to apply?
>
>
>> For some reason I'm getting an empty result set with this.. the
>> javadocs are a tad sparse so I may not be able to resolve this for a
>> day or two.. anyone better at with this api? I'm also not sure if this
>> quick and dirty change will correctly handle PreparedStmts.
>>
>
> I wouldn't be surprised if the driver is confused by an INSERT command
> completion tag also having a result set. If you can produce a working
> patch I'll take a closer look.
>
> Kris Jurka

Kris,

Strange about the patch. Aside from the import stmts, only the method
below is changed in that source file:

public int executeUpdate(String sql, String columnNames[]) throws
SQLException
{
//fix-me "The driver will ignore the array if the SQL statement is
not an INSERT statement"
//fix me : impl NO_GENERATED_KEYS & RETURN_GENERATED_KEYS
if (columnNames==null || columnNames.length==0)
return executeUpdate(sql);
//should never reallocate
StringBuffer s = new
StringBuffer(12+sql.length()+(columnNames.length*32));
s.append(sql);
s.append('\n');
s.append("RETURNING");
s.append(' ');
for (int i=0; i<columnNames.length; i++)
{
if (i!=0)
s.append(',');
s.append(columnNames[i]);
}
return executeUpdateGetResults(s.toString());
//throw new PSQLException(GT.tr("Returning autogenerated keys is
not supported."), PSQLState.NOT_IMPLEMENTED);
}

ken

In response to

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message Dave Cramer 2007-01-30 19:25:57 Re: escape string for pgsql (using jdbc/java)?
Previous Message Tobias Thierer 2007-01-30 00:15:08 Re: escape string for pgsql (using jdbc/java)?