Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search for
  Advanced Search

Re: Synthesize support for Statement.getGeneratedKeys()?



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






Home | Main Index | Thread Index

Privacy Policy | PostgreSQL Archives hosted by Command Prompt, Inc. | Designed by tinysofa
Copyright © 1996 – 2008 PostgreSQL Global Development Group