aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/interfaces/jdbc/CHANGELOG7
-rw-r--r--src/interfaces/jdbc/example/basic.java4
-rw-r--r--src/interfaces/jdbc/postgresql/Connection.java16
-rw-r--r--src/interfaces/jdbc/postgresql/Statement.java2
4 files changed, 25 insertions, 4 deletions
diff --git a/src/interfaces/jdbc/CHANGELOG b/src/interfaces/jdbc/CHANGELOG
index 103c1bf6ff0..b6104df13aa 100644
--- a/src/interfaces/jdbc/CHANGELOG
+++ b/src/interfaces/jdbc/CHANGELOG
@@ -1,3 +1,10 @@
+Sun Apr 11 17:00:00 BST 1999
+ - getUpdateCount() now returns the actual update count (before it
+ simply returned 1 for everything).
+ - added some updates to example.basic so it would test the new update
+ count code.
+ - corrected typo in a comment in Statement.java
+
Mon Jan 25 19:45:00 GMT 1999
- created subfolders example/corba and example/corba/idl to hold the
new example showing how to hook CORBA and PostgreSQL via JDBC
diff --git a/src/interfaces/jdbc/example/basic.java b/src/interfaces/jdbc/example/basic.java
index 1ea20d1d932..939d460e240 100644
--- a/src/interfaces/jdbc/example/basic.java
+++ b/src/interfaces/jdbc/example/basic.java
@@ -77,6 +77,10 @@ public class basic
st.executeUpdate("insert into basic values (2,1)");
st.executeUpdate("insert into basic values (3,1)");
+ // Now change the value of b from 1 to 8
+ st.executeUpdate("update basic set b=8");
+ System.out.println("Updated "+st.getUpdateCount()+" rows");
+
// For large inserts, a PreparedStatement is more efficient, because it
// supports the idea of precompiling the SQL statement, and to store
// directly, a Java object into any column. PostgreSQL doesnt support
diff --git a/src/interfaces/jdbc/postgresql/Connection.java b/src/interfaces/jdbc/postgresql/Connection.java
index df354776f7f..4ec6fdb177c 100644
--- a/src/interfaces/jdbc/postgresql/Connection.java
+++ b/src/interfaces/jdbc/postgresql/Connection.java
@@ -10,7 +10,7 @@ import postgresql.largeobject.*;
import postgresql.util.*;
/**
- * $Id: Connection.java,v 1.14 1999/01/17 04:51:50 momjian Exp $
+ * $Id: Connection.java,v 1.15 1999/04/11 18:03:00 peter Exp $
*
* This abstract class is used by postgresql.Driver to open either the JDBC1 or
* JDBC2 versions of the Connection class.
@@ -321,6 +321,7 @@ public abstract class Connection
int fqp = 0;
boolean hfr = false;
String recv_status = null, msg;
+ int update_count = 1;
SQLException final_error = null;
if (sql.length() > 8192)
@@ -358,6 +359,15 @@ public abstract class Connection
break;
case 'C': // Command Status
recv_status = pg_stream.ReceiveString(8192);
+
+ // Now handle the update count correctly.
+ if(recv_status.startsWith("INSERT") || recv_status.startsWith("UPDATE")) {
+ try {
+ update_count = Integer.parseInt(recv_status.substring(1+recv_status.lastIndexOf(' ')));
+ } catch(NumberFormatException nfe) {
+ throw new SQLException("Unable to fathom update count \""+recv_status+"\"");
+ }
+ }
if (fields != null)
hfr = true;
else
@@ -414,8 +424,8 @@ public abstract class Connection
}
if (final_error != null)
throw final_error;
- return getResultSet(this, fields, tuples, recv_status, 1);
- //return new ResultSet(this, fields, tuples, recv_status, 1);
+
+ return getResultSet(this, fields, tuples, recv_status, update_count);
}
}
diff --git a/src/interfaces/jdbc/postgresql/Statement.java b/src/interfaces/jdbc/postgresql/Statement.java
index 8a3332da011..3b6c20c9a4f 100644
--- a/src/interfaces/jdbc/postgresql/Statement.java
+++ b/src/interfaces/jdbc/postgresql/Statement.java
@@ -35,7 +35,7 @@ public class Statement implements java.sql.Statement
}
/**
- * Execute a SQL statement that retruns a single ResultSet
+ * Execute a SQL statement that returns a single ResultSet
*
* @param sql typically a static SQL SELECT statement
* @return a ResulSet that contains the data produced by the query