Modified:
branches/branch_5_1/CHANGES
branches/branch_5_1/src/com/mysql/jdbc/jdbc2/optional/ConnectionWrapper.java
branches/branch_5_1/src/testsuite/regression/DataSourceRegressionTest.java
Log:
Fixed Bug#32101 - When using a connection from our ConnectionPoolDataSource,
some Connection.prepareStatement() methods would return null instead of
a prepared statement.
Modified: branches/branch_5_1/CHANGES
===================================================================
--- branches/branch_5_1/CHANGES 2007-11-09 21:53:31 UTC (rev 6663)
+++ branches/branch_5_1/CHANGES 2007-11-16 15:24:21 UTC (rev 6664)
@@ -51,6 +51,10 @@
normal SELECTs won't have an error in this spot in the protocol unless an
I/O error occurs.
+ - Fixed Bug#32101 - When using a connection from our ConnectionPoolDataSource,
+ some Connection.prepareStatement() methods would return null instead of
+ a prepared statement.
+
10-09-07 - Version 5.1.5
- Released instead of 5.1.4 to pickup patch for BUG#31053
Modified: branches/branch_5_1/src/com/mysql/jdbc/jdbc2/optional/ConnectionWrapper.java
===================================================================
---
branches/branch_5_1/src/com/mysql/jdbc/jdbc2/optional/ConnectionWrapper.java 2007-11-09
21:53:31 UTC (rev 6663)
+++
branches/branch_5_1/src/com/mysql/jdbc/jdbc2/optional/ConnectionWrapper.java 2007-11-16
15:24:21 UTC (rev 6664)
@@ -732,7 +732,7 @@
checkClosed();
try {
- PreparedStatementWrapper.getInstance(this, this.mpc, this.mc
+ return PreparedStatementWrapper.getInstance(this, this.mpc, this.mc
.prepareStatement(arg0, arg1));
} catch (SQLException sqlException) {
checkAndFireConnectionError(sqlException);
@@ -749,7 +749,7 @@
checkClosed();
try {
- PreparedStatementWrapper.getInstance(this, this.mpc, this.mc
+ return PreparedStatementWrapper.getInstance(this, this.mpc, this.mc
.prepareStatement(arg0, arg1));
} catch (SQLException sqlException) {
checkAndFireConnectionError(sqlException);
@@ -766,7 +766,7 @@
checkClosed();
try {
- PreparedStatementWrapper.getInstance(this, this.mpc, this.mc
+ return PreparedStatementWrapper.getInstance(this, this.mpc, this.mc
.prepareStatement(arg0, arg1));
} catch (SQLException sqlException) {
checkAndFireConnectionError(sqlException);
Modified: branches/branch_5_1/src/testsuite/regression/DataSourceRegressionTest.java
===================================================================
--- branches/branch_5_1/src/testsuite/regression/DataSourceRegressionTest.java 2007-11-09
21:53:31 UTC (rev 6663)
+++ branches/branch_5_1/src/testsuite/regression/DataSourceRegressionTest.java 2007-11-16
15:24:21 UTC (rev 6664)
@@ -32,6 +32,7 @@
import java.lang.reflect.Method;
import java.sql.Connection;
import java.sql.PreparedStatement;
+import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Hashtable;
@@ -470,4 +471,23 @@
}
}
}
+
+ /**
+ * Tests fix for BUG#32101 - When using a connection from our ConnectionPoolDataSource,
+ * some Connection.prepareStatement() methods would return null instead of
+ * a prepared statement.
+ *
+ * @throws Exception
+ */
+ public void testBug32101() throws Exception {
+ MysqlConnectionPoolDataSource ds = new MysqlConnectionPoolDataSource();
+ ds.setURL(BaseTestCase.dbUrl);
+ PooledConnection pc = ds.getPooledConnection();
+ assertNotNull(pc.getConnection().prepareStatement("SELECT 1"));
+ assertNotNull(pc.getConnection().prepareStatement("SELECT 1",
Statement.RETURN_GENERATED_KEYS));
+ assertNotNull(pc.getConnection().prepareStatement("SELECT 1", new int[0]));
+ assertNotNull(pc.getConnection().prepareStatement("SELECT 1", new String[0]));
+ assertNotNull(pc.getConnection().prepareStatement("SELECT 1",
ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY));
+ assertNotNull(pc.getConnection().prepareStatement("SELECT 1",
ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY,
ResultSet.HOLD_CURSORS_OVER_COMMIT));
+ }
}
| Thread |
|---|
| • Connector/J commit: r6664 - in branches/branch_5_1: . src/com/mysql/jdbc/jdbc2/optional src/testsuite/regression | mmatthews | 16 Nov |