List:Commits« Previous MessageNext Message »
From:mmatthews Date:November 16 2007 4:24pm
Subject:Connector/J commit: r6664 - in branches/branch_5_1: . src/com/mysql/jdbc/jdbc2/optional src/testsuite/regression
View as plain text  
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/regressionmmatthews16 Nov