diff options
Diffstat (limited to 'src/interfaces/jdbc/org/postgresql/Connection.java')
-rw-r--r-- | src/interfaces/jdbc/org/postgresql/Connection.java | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/src/interfaces/jdbc/org/postgresql/Connection.java b/src/interfaces/jdbc/org/postgresql/Connection.java index e205206d45..539faecd3e 100644 --- a/src/interfaces/jdbc/org/postgresql/Connection.java +++ b/src/interfaces/jdbc/org/postgresql/Connection.java @@ -10,7 +10,7 @@ import org.postgresql.largeobject.*; import org.postgresql.util.*; /** - * $Id: Connection.java,v 1.3 2000/06/06 07:45:07 peter Exp $ + * $Id: Connection.java,v 1.4 2000/06/06 11:05:59 peter Exp $ * * This abstract class is used by org.postgresql.Driver to open either the JDBC1 or * JDBC2 versions of the Connection class. @@ -317,7 +317,8 @@ public abstract class Connection int fqp = 0; boolean hfr = false; String recv_status = null, msg; - int update_count = 1; + int update_count = 1; + int insert_oid = 0; SQLException final_error = null; // Commented out as the backend can now handle queries @@ -359,12 +360,19 @@ public abstract class Connection recv_status = pg_stream.ReceiveString(8192); // Now handle the update count correctly. - if(recv_status.startsWith("INSERT") || recv_status.startsWith("UPDATE")) { + if(recv_status.startsWith("INSERT") || recv_status.startsWith("UPDATE") || recv_status.startsWith("DELETE")) { try { update_count = Integer.parseInt(recv_status.substring(1+recv_status.lastIndexOf(' '))); } catch(NumberFormatException nfe) { throw new PSQLException("postgresql.con.fathom",recv_status); } + if(recv_status.startsWith("INSERT")) { + try { + insert_oid = Integer.parseInt(recv_status.substring(1+recv_status.indexOf(' '),recv_status.lastIndexOf(' '))); + } catch(NumberFormatException nfe) { + throw new PSQLException("postgresql.con.fathom",recv_status); + } + } } if (fields != null) hfr = true; @@ -425,7 +433,7 @@ public abstract class Connection if (final_error != null) throw final_error; - return getResultSet(this, fields, tuples, recv_status, update_count); + return getResultSet(this, fields, tuples, recv_status, update_count, insert_oid); } } @@ -727,7 +735,7 @@ public abstract class Connection * This returns a resultset. It must be overridden, so that the correct * version (from jdbc1 or jdbc2) are returned. */ - protected abstract java.sql.ResultSet getResultSet(org.postgresql.Connection conn, Field[] fields, Vector tuples, String status, int updateCount) throws SQLException; + protected abstract java.sql.ResultSet getResultSet(org.postgresql.Connection conn, Field[] fields, Vector tuples, String status, int updateCount,int insertOID) throws SQLException; public abstract void close() throws SQLException; |