You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-commits@db.apache.org by dj...@apache.org on 2006/02/20 18:39:46 UTC

svn commit: r379178 - in /db/derby/code/trunk/java: engine/org/apache/derby/iapi/jdbc/ engine/org/apache/derby/impl/jdbc/ engine/org/apache/derby/jdbc/ testing/org/apache/derbyTesting/functionTests/master/

Author: djd
Date: Mon Feb 20 09:39:41 2006
New Revision: 379178

URL: http://svn.apache.org/viewcvs?rev=379178&view=rev
Log:
DERBY-1009 Ensure EmbedResultSet.getStatement() returns the BrokeredStatement object
the application used to create it, rather than the underlying physical statament.

Modified:
    db/derby/code/trunk/java/engine/org/apache/derby/iapi/jdbc/BrokeredCallableStatement.java
    db/derby/code/trunk/java/engine/org/apache/derby/iapi/jdbc/BrokeredPreparedStatement.java
    db/derby/code/trunk/java/engine/org/apache/derby/iapi/jdbc/BrokeredPreparedStatement40.java
    db/derby/code/trunk/java/engine/org/apache/derby/iapi/jdbc/BrokeredStatement.java
    db/derby/code/trunk/java/engine/org/apache/derby/iapi/jdbc/BrokeredStatementControl.java
    db/derby/code/trunk/java/engine/org/apache/derby/impl/jdbc/EmbedResultSet.java
    db/derby/code/trunk/java/engine/org/apache/derby/jdbc/XAStatementControl.java
    db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/XATest.out
    db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/checkDataSource.out
    db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/checkDataSource30.out

Modified: db/derby/code/trunk/java/engine/org/apache/derby/iapi/jdbc/BrokeredCallableStatement.java
URL: http://svn.apache.org/viewcvs/db/derby/code/trunk/java/engine/org/apache/derby/iapi/jdbc/BrokeredCallableStatement.java?rev=379178&r1=379177&r2=379178&view=diff
==============================================================================
--- db/derby/code/trunk/java/engine/org/apache/derby/iapi/jdbc/BrokeredCallableStatement.java (original)
+++ db/derby/code/trunk/java/engine/org/apache/derby/iapi/jdbc/BrokeredCallableStatement.java Mon Feb 20 09:39:41 2006
@@ -214,10 +214,25 @@
 	** Control methods
 	*/
 
-	protected final CallableStatement getCallableStatement() throws SQLException {
+    /**
+     * Access the underlying CallableStatement. This method
+     * is package protected to restrict access to the underlying
+     * object to the brokered objects. Allowing the application to
+     * access the underlying object thtough a public method would
+     * 
+     */
+    final CallableStatement getCallableStatement() throws SQLException {
 		return control.getRealCallableStatement();
 	}
-	public final PreparedStatement getPreparedStatement() throws SQLException {
+	
+    /**
+     * Access the underlying PreparedStatement. This method
+     * is package protected to restrict access to the underlying
+     * object to the brokered objects. Allowing the application to
+     * access the underlying object thtough a public method would
+     * 
+     */
+    final PreparedStatement getPreparedStatement() throws SQLException {
 		return getCallableStatement();
 	}
 	/**

Modified: db/derby/code/trunk/java/engine/org/apache/derby/iapi/jdbc/BrokeredPreparedStatement.java
URL: http://svn.apache.org/viewcvs/db/derby/code/trunk/java/engine/org/apache/derby/iapi/jdbc/BrokeredPreparedStatement.java?rev=379178&r1=379177&r2=379178&view=diff
==============================================================================
--- db/derby/code/trunk/java/engine/org/apache/derby/iapi/jdbc/BrokeredPreparedStatement.java (original)
+++ db/derby/code/trunk/java/engine/org/apache/derby/iapi/jdbc/BrokeredPreparedStatement.java Mon Feb 20 09:39:41 2006
@@ -38,7 +38,7 @@
 	/**
 		SQL used to create me.
 	*/
-	protected final String	sql;
+	final String	sql;
 
     public BrokeredPreparedStatement(BrokeredStatementControl control, int jdbcLevel, String sql) throws SQLException
     {
@@ -491,7 +491,14 @@
 	** Control methods.
 	*/
 
-	public PreparedStatement getPreparedStatement() throws SQLException {
+    /**
+     * Access the underlying PreparedStatement. This method
+     * is package protected to restrict access to the underlying
+     * object to the brokered objects. Allowing the application to
+     * access the underlying object thtough a public method would
+     * 
+     */
+    PreparedStatement getPreparedStatement() throws SQLException {
 		return control.getRealPreparedStatement();
 	}
 

Modified: db/derby/code/trunk/java/engine/org/apache/derby/iapi/jdbc/BrokeredPreparedStatement40.java
URL: http://svn.apache.org/viewcvs/db/derby/code/trunk/java/engine/org/apache/derby/iapi/jdbc/BrokeredPreparedStatement40.java?rev=379178&r1=379177&r2=379178&view=diff
==============================================================================
--- db/derby/code/trunk/java/engine/org/apache/derby/iapi/jdbc/BrokeredPreparedStatement40.java (original)
+++ db/derby/code/trunk/java/engine/org/apache/derby/iapi/jdbc/BrokeredPreparedStatement40.java Mon Feb 20 09:39:41 2006
@@ -31,10 +31,8 @@
 
 public class BrokeredPreparedStatement40 extends BrokeredPreparedStatement30{
     
-    private final Object generatedKeys;
     public BrokeredPreparedStatement40(BrokeredStatementControl control, int jdbcLevel, String sql, Object generatedKeys) throws SQLException {
         super(control, jdbcLevel, sql,generatedKeys);
-        this.generatedKeys = generatedKeys;
     }
     
     public void setRowId(int parameterIndex, RowId x) throws SQLException{

Modified: db/derby/code/trunk/java/engine/org/apache/derby/iapi/jdbc/BrokeredStatement.java
URL: http://svn.apache.org/viewcvs/db/derby/code/trunk/java/engine/org/apache/derby/iapi/jdbc/BrokeredStatement.java?rev=379178&r1=379177&r2=379178&view=diff
==============================================================================
--- db/derby/code/trunk/java/engine/org/apache/derby/iapi/jdbc/BrokeredStatement.java (original)
+++ db/derby/code/trunk/java/engine/org/apache/derby/iapi/jdbc/BrokeredStatement.java Mon Feb 20 09:39:41 2006
@@ -44,12 +44,12 @@
 		when calling a check method. This will result in the correct exception
 		being thrown if the statement is already closed.
 	*/
-	protected final BrokeredStatementControl control;
+	final BrokeredStatementControl control;
 
-	protected final int jdbcLevel;
-	protected final int resultSetType;
-	protected final int resultSetConcurrency;
-	protected final int resultSetHoldability;
+	final int jdbcLevel;
+	final int resultSetType;
+	final int resultSetConcurrency;
+	final int resultSetHoldability;
 
 	/**
 		My state
@@ -57,7 +57,7 @@
 	private String cursorName;
 	private Boolean escapeProcessing;
 
-    protected BrokeredStatement(BrokeredStatementControl control, int jdbcLevel) throws SQLException
+    BrokeredStatement(BrokeredStatementControl control, int jdbcLevel) throws SQLException
     {
 		this.control = control;
 		this.jdbcLevel = jdbcLevel;
@@ -497,7 +497,7 @@
 		return newStatement;
 	}
 
-	protected void setStatementState(Statement oldStatement, Statement newStatement) throws SQLException {
+	void setStatementState(Statement oldStatement, Statement newStatement) throws SQLException {
 		if (cursorName != null)
 			newStatement.setCursorName(cursorName);
 		if (escapeProcessing != null)
@@ -513,8 +513,18 @@
 	public Statement getStatement() throws SQLException {
 		return control.getRealStatement();
 	}
-	protected final ResultSet wrapResultSet(ResultSet rs) {
-		return control.wrapResultSet(rs);
+    
+    /**
+     * Provide the control access to every ResultSet we return.
+     * If required the control can wrap the ResultSet, but
+     * it (the control) must ensure a underlying ResultSet is
+     * only wrapped once, if say java.sql.Statement.getResultSet
+     * is returned twice.
+     * 
+     * @param rs ResultSet being returned, can be null.
+     */
+	final ResultSet wrapResultSet(ResultSet rs) {
+		return control.wrapResultSet(this, rs);
 	}
 
 	/**
@@ -522,7 +532,7 @@
 		Obtained indirectly to ensure that the correct exception is
 		thrown if the Statement has been closed.
 	*/
-	protected final BrokeredStatementControl controlCheck() throws SQLException
+	final BrokeredStatementControl controlCheck() throws SQLException
 	{
 		// simplest method that will throw an exception if the Statement is closed
 		getStatement().getConnection();

Modified: db/derby/code/trunk/java/engine/org/apache/derby/iapi/jdbc/BrokeredStatementControl.java
URL: http://svn.apache.org/viewcvs/db/derby/code/trunk/java/engine/org/apache/derby/iapi/jdbc/BrokeredStatementControl.java?rev=379178&r1=379177&r2=379178&view=diff
==============================================================================
--- db/derby/code/trunk/java/engine/org/apache/derby/iapi/jdbc/BrokeredStatementControl.java (original)
+++ db/derby/code/trunk/java/engine/org/apache/derby/iapi/jdbc/BrokeredStatementControl.java Mon Feb 20 09:39:41 2006
@@ -53,6 +53,7 @@
 
 	/**
 		Optionally wrap a returned ResultSet in another ResultSet.
+        @param s Statement that created the ResultSet.
 	*/
-	public ResultSet	wrapResultSet(ResultSet rs);
+	public ResultSet	wrapResultSet(Statement s, ResultSet rs);
 }

Modified: db/derby/code/trunk/java/engine/org/apache/derby/impl/jdbc/EmbedResultSet.java
URL: http://svn.apache.org/viewcvs/db/derby/code/trunk/java/engine/org/apache/derby/impl/jdbc/EmbedResultSet.java?rev=379178&r1=379177&r2=379178&view=diff
==============================================================================
--- db/derby/code/trunk/java/engine/org/apache/derby/impl/jdbc/EmbedResultSet.java (original)
+++ db/derby/code/trunk/java/engine/org/apache/derby/impl/jdbc/EmbedResultSet.java Mon Feb 20 09:39:41 2006
@@ -141,12 +141,29 @@
     private int NumberofFetchedRows;
 
 
-	/*
+	/**
+     * The statement object that originally created us.
 		we hang on to the statement to prevent GC from
 		closing it under us
 	 */
-	protected final EmbedStatement stmt;
+	private final EmbedStatement stmt;
+    
+    /**
+     * The statement that currently owns this ResultSet.
+     * Statements created in procedures are passed off
+     * to the Statement that called the procedure.
+     * This is to avoid the ResultSet being closed
+     * due to the Statement within the procedure
+     * or the nested Connection being closed.
+     */
 	private EmbedStatement owningStmt;
+    
+    /**
+     * Statement object the application used to
+     * create this ResultSet.
+     */
+    private Statement applicationStmt;
+    
     private long timeoutMillis;
 
 	protected final boolean isAtomic;
@@ -182,7 +199,7 @@
 		SanityManager.ASSERT(resultsToWrap!=null);
 		theResults = resultsToWrap;
 		this.forMetaData = forMetaData;
-		this.stmt = owningStmt = stmt;
+        this.applicationStmt = this.stmt = owningStmt = stmt;
 
         this.timeoutMillis = stmt == null
             ? 0L
@@ -1662,7 +1679,17 @@
 	 */
 	public final Statement getStatement()
     {
-            return stmt;
+            return applicationStmt;
+    }
+    
+    /**
+     * Set the application Statement object that created this ResultSet.
+     * Used when the Statement objects returned to the application
+     * are wrapped for XA.
+     */
+    public final void setApplicationStatement(Statement applicationStmt)
+    {
+        this.applicationStmt = applicationStmt;
     }
 
 	//---------------------------------------------------------------------

Modified: db/derby/code/trunk/java/engine/org/apache/derby/jdbc/XAStatementControl.java
URL: http://svn.apache.org/viewcvs/db/derby/code/trunk/java/engine/org/apache/derby/jdbc/XAStatementControl.java?rev=379178&r1=379177&r2=379178&view=diff
==============================================================================
--- db/derby/code/trunk/java/engine/org/apache/derby/jdbc/XAStatementControl.java (original)
+++ db/derby/code/trunk/java/engine/org/apache/derby/jdbc/XAStatementControl.java Mon Feb 20 09:39:41 2006
@@ -26,6 +26,7 @@
 import org.apache.derby.iapi.jdbc.BrokeredPreparedStatement;
 import org.apache.derby.iapi.jdbc.BrokeredCallableStatement;
 import org.apache.derby.impl.jdbc.EmbedConnection;
+import org.apache.derby.impl.jdbc.EmbedResultSet;
 import org.apache.derby.impl.jdbc.EmbedStatement;
 import org.apache.derby.impl.jdbc.EmbedPreparedStatement;
 
@@ -182,7 +183,14 @@
 		return realCallableStatement;
 	}
 
-	public ResultSet wrapResultSet(ResultSet rs) {
+    /**
+     * Don't need to wrap the ResultSet but do need to update its
+     * application Statement reference to be the one the application
+     * used to create the ResultSet.
+     */
+	public ResultSet wrapResultSet(Statement s, ResultSet rs) {
+        if (rs != null)
+            ((EmbedResultSet) rs).setApplicationStatement(s);
 		return rs;
 	}
 

Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/XATest.out
URL: http://svn.apache.org/viewcvs/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/XATest.out?rev=379178&r1=379177&r2=379178&view=diff
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/XATest.out (original)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/XATest.out Mon Feb 20 09:39:41 2006
@@ -80,86 +80,50 @@
 derby966
 Local connection holdable true
 Local(held) default Statement holdable true
-FAIL - mismatched statement & ResultSet
-Statement class class org.apache.derby.iapi.jdbc.BrokeredStatement
-ResultSet' Statements class class org.apache.derby.impl.jdbc.EmbedStatement
 held true
   BC A=0
   AC A=1
 Local(held) default PreparedStatement holdable true
-FAIL - mismatched statement & ResultSet
-Statement class class org.apache.derby.iapi.jdbc.BrokeredPreparedStatement30
-ResultSet' Statements class class org.apache.derby.impl.jdbc.EmbedPreparedStatement30
 held true
   BC A=0
   AC A=1
 Local(held) held Statement holdable true
-FAIL - mismatched statement & ResultSet
-Statement class class org.apache.derby.iapi.jdbc.BrokeredStatement
-ResultSet' Statements class class org.apache.derby.impl.jdbc.EmbedStatement
 held true
   BC A=0
   AC A=1
 Local(held) held PreparedStatement holdable true
-FAIL - mismatched statement & ResultSet
-Statement class class org.apache.derby.iapi.jdbc.BrokeredPreparedStatement30
-ResultSet' Statements class class org.apache.derby.impl.jdbc.EmbedPreparedStatement30
 held true
   BC A=0
   AC A=1
 Local(held) close Statement holdable false
-FAIL - mismatched statement & ResultSet
-Statement class class org.apache.derby.iapi.jdbc.BrokeredStatement
-ResultSet' Statements class class org.apache.derby.impl.jdbc.EmbedStatement
 held false
   BC A=0
 EXPECTED SQLSTATE(XCL16): ResultSet not open. Operation 'next' not permitted. Verify that autocommit is OFF.
 Local(held) close PreparedStatement holdable false
-FAIL - mismatched statement & ResultSet
-Statement class class org.apache.derby.iapi.jdbc.BrokeredPreparedStatement30
-ResultSet' Statements class class org.apache.derby.impl.jdbc.EmbedPreparedStatement30
 held false
   BC A=0
 EXPECTED SQLSTATE(XCL16): ResultSet not open. Operation 'next' not permitted. Verify that autocommit is OFF.
 Local(close) default Statement holdable false
-FAIL - mismatched statement & ResultSet
-Statement class class org.apache.derby.iapi.jdbc.BrokeredStatement
-ResultSet' Statements class class org.apache.derby.impl.jdbc.EmbedStatement
 held false
   BC A=0
 EXPECTED SQLSTATE(XCL16): ResultSet not open. Operation 'next' not permitted. Verify that autocommit is OFF.
 Local(close) default PreparedStatement holdable false
-FAIL - mismatched statement & ResultSet
-Statement class class org.apache.derby.iapi.jdbc.BrokeredPreparedStatement30
-ResultSet' Statements class class org.apache.derby.impl.jdbc.EmbedPreparedStatement30
 held false
   BC A=0
 EXPECTED SQLSTATE(XCL16): ResultSet not open. Operation 'next' not permitted. Verify that autocommit is OFF.
 Local(close) held Statement holdable true
-FAIL - mismatched statement & ResultSet
-Statement class class org.apache.derby.iapi.jdbc.BrokeredStatement
-ResultSet' Statements class class org.apache.derby.impl.jdbc.EmbedStatement
 held true
   BC A=0
   AC A=1
 Local(close) held PreparedStatement holdable true
-FAIL - mismatched statement & ResultSet
-Statement class class org.apache.derby.iapi.jdbc.BrokeredPreparedStatement30
-ResultSet' Statements class class org.apache.derby.impl.jdbc.EmbedPreparedStatement30
 held true
   BC A=0
   AC A=1
 Local(close) close Statement holdable false
-FAIL - mismatched statement & ResultSet
-Statement class class org.apache.derby.iapi.jdbc.BrokeredStatement
-ResultSet' Statements class class org.apache.derby.impl.jdbc.EmbedStatement
 held false
   BC A=0
 EXPECTED SQLSTATE(XCL16): ResultSet not open. Operation 'next' not permitted. Verify that autocommit is OFF.
 Local(close) close PreparedStatement holdable false
-FAIL - mismatched statement & ResultSet
-Statement class class org.apache.derby.iapi.jdbc.BrokeredPreparedStatement30
-ResultSet' Statements class class org.apache.derby.impl.jdbc.EmbedPreparedStatement30
 held false
   BC A=0
 EXPECTED SQLSTATE(XCL16): ResultSet not open. Operation 'next' not permitted. Verify that autocommit is OFF.

Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/checkDataSource.out
URL: http://svn.apache.org/viewcvs/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/checkDataSource.out?rev=379178&r1=379177&r2=379178&view=diff
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/checkDataSource.out (original)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/checkDataSource.out Mon Feb 20 09:39:41 2006
@@ -84,8 +84,6 @@
   auto commit     true
   read only       false
   has warnings    false
-XADataSource FAIL incorrect Statement object returned for ResultSet.getStatement
-XADataSource FAIL incorrect Statement object returned for ResultSet.getStatement
 setTypeMap(EMPTY_MAP) - ok
 setTypeMap(null) - ok XJ081 - Invalid value 'null' passed as parameter 'map' to method 'java.sql.Connection.setTypeMap'
 setTypeMap(map) - ok 0A000 - Feature not implemented: no details.
@@ -179,8 +177,6 @@
   auto commit     true
   read only       false
   has warnings    false
-XADataSource FAIL incorrect Statement object returned for ResultSet.getStatement
-XADataSource FAIL incorrect Statement object returned for ResultSet.getStatement
 setTypeMap(EMPTY_MAP) - ok
 setTypeMap(null) - ok XJ081 - Invalid value 'null' passed as parameter 'map' to method 'java.sql.Connection.setTypeMap'
 setTypeMap(map) - ok 0A000 - Feature not implemented: no details.
@@ -194,8 +190,6 @@
   auto commit     true
   read only       false
   has warnings    false
-XADataSource FAIL incorrect Statement object returned for ResultSet.getStatement
-XADataSource FAIL incorrect Statement object returned for ResultSet.getStatement
 setTypeMap(EMPTY_MAP) - ok
 setTypeMap(null) - ok XJ081 - Invalid value 'null' passed as parameter 'map' to method 'java.sql.Connection.setTypeMap'
 setTypeMap(map) - ok 0A000 - Feature not implemented: no details.
@@ -209,8 +203,6 @@
   isolation level 2
   auto commit     false
   read only       false
-Global XADataSource FAIL incorrect Statement object returned for ResultSet.getStatement
-Global XADataSource FAIL incorrect Statement object returned for ResultSet.getStatement
 setTypeMap(EMPTY_MAP) - ok
 setTypeMap(null) - ok XJ081 - Invalid value 'null' passed as parameter 'map' to method 'java.sql.Connection.setTypeMap'
 setTypeMap(map) - ok 0A000 - Feature not implemented: no details.
@@ -223,8 +215,6 @@
   isolation level 2
   auto commit     false
   read only       false
-Global XADataSource FAIL incorrect Statement object returned for ResultSet.getStatement
-Global XADataSource FAIL incorrect Statement object returned for ResultSet.getStatement
 setTypeMap(EMPTY_MAP) - ok
 setTypeMap(null) - ok XJ081 - Invalid value 'null' passed as parameter 'map' to method 'java.sql.Connection.setTypeMap'
 setTypeMap(map) - ok 0A000 - Feature not implemented: no details.
@@ -238,8 +228,6 @@
   auto commit     true
   read only       false
   has warnings    false
-Switch to local XADataSource FAIL incorrect Statement object returned for ResultSet.getStatement
-Switch to local XADataSource FAIL incorrect Statement object returned for ResultSet.getStatement
 setTypeMap(EMPTY_MAP) - ok
 setTypeMap(null) - ok XJ081 - Invalid value 'null' passed as parameter 'map' to method 'java.sql.Connection.setTypeMap'
 setTypeMap(map) - ok 0A000 - Feature not implemented: no details.
@@ -253,8 +241,6 @@
   auto commit     true
   read only       false
   has warnings    false
-Switch to local XADataSource FAIL incorrect Statement object returned for ResultSet.getStatement
-Switch to local XADataSource FAIL incorrect Statement object returned for ResultSet.getStatement
 setTypeMap(EMPTY_MAP) - ok
 setTypeMap(null) - ok XJ081 - Invalid value 'null' passed as parameter 'map' to method 'java.sql.Connection.setTypeMap'
 setTypeMap(map) - ok 0A000 - Feature not implemented: no details.
@@ -268,8 +254,6 @@
   auto commit     false
   read only       false
   has warnings    false
-Switch to global XADataSource FAIL incorrect Statement object returned for ResultSet.getStatement
-Switch to global XADataSource FAIL incorrect Statement object returned for ResultSet.getStatement
 setTypeMap(EMPTY_MAP) - ok
 setTypeMap(null) - ok XJ081 - Invalid value 'null' passed as parameter 'map' to method 'java.sql.Connection.setTypeMap'
 setTypeMap(map) - ok 0A000 - Feature not implemented: no details.
@@ -283,8 +267,6 @@
   auto commit     false
   read only       false
   has warnings    false
-Switch to global XADataSource FAIL incorrect Statement object returned for ResultSet.getStatement
-Switch to global XADataSource FAIL incorrect Statement object returned for ResultSet.getStatement
 setTypeMap(EMPTY_MAP) - ok
 setTypeMap(null) - ok XJ081 - Invalid value 'null' passed as parameter 'map' to method 'java.sql.Connection.setTypeMap'
 setTypeMap(map) - ok 0A000 - Feature not implemented: no details.

Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/checkDataSource30.out
URL: http://svn.apache.org/viewcvs/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/checkDataSource30.out?rev=379178&r1=379177&r2=379178&view=diff
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/checkDataSource30.out (original)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/checkDataSource30.out Mon Feb 20 09:39:41 2006
@@ -105,8 +105,6 @@
   auto commit     true
   read only       false
   has warnings    false
-XADataSource FAIL incorrect Statement object returned for ResultSet.getStatement
-XADataSource FAIL incorrect Statement object returned for ResultSet.getStatement
 setTypeMap(EMPTY_MAP) - ok
 setTypeMap(null) - ok XJ081 - Invalid value 'null' passed as parameter 'map' to method 'java.sql.Connection.setTypeMap'
 setTypeMap(map) - ok 0A000 - Feature not implemented: no details.
@@ -221,8 +219,6 @@
   auto commit     true
   read only       false
   has warnings    false
-XADataSource FAIL incorrect Statement object returned for ResultSet.getStatement
-XADataSource FAIL incorrect Statement object returned for ResultSet.getStatement
 setTypeMap(EMPTY_MAP) - ok
 setTypeMap(null) - ok XJ081 - Invalid value 'null' passed as parameter 'map' to method 'java.sql.Connection.setTypeMap'
 setTypeMap(map) - ok 0A000 - Feature not implemented: no details.
@@ -239,8 +235,6 @@
   auto commit     true
   read only       false
   has warnings    false
-XADataSource FAIL incorrect Statement object returned for ResultSet.getStatement
-XADataSource FAIL incorrect Statement object returned for ResultSet.getStatement
 setTypeMap(EMPTY_MAP) - ok
 setTypeMap(null) - ok XJ081 - Invalid value 'null' passed as parameter 'map' to method 'java.sql.Connection.setTypeMap'
 setTypeMap(map) - ok 0A000 - Feature not implemented: no details.
@@ -257,8 +251,6 @@
   isolation level 2
   auto commit     false
   read only       false
-Global XADataSource FAIL incorrect Statement object returned for ResultSet.getStatement
-Global XADataSource FAIL incorrect Statement object returned for ResultSet.getStatement
 setTypeMap(EMPTY_MAP) - ok
 setTypeMap(null) - ok XJ081 - Invalid value 'null' passed as parameter 'map' to method 'java.sql.Connection.setTypeMap'
 setTypeMap(map) - ok 0A000 - Feature not implemented: no details.
@@ -274,8 +266,6 @@
   isolation level 2
   auto commit     false
   read only       false
-Global XADataSource FAIL incorrect Statement object returned for ResultSet.getStatement
-Global XADataSource FAIL incorrect Statement object returned for ResultSet.getStatement
 setTypeMap(EMPTY_MAP) - ok
 setTypeMap(null) - ok XJ081 - Invalid value 'null' passed as parameter 'map' to method 'java.sql.Connection.setTypeMap'
 setTypeMap(map) - ok 0A000 - Feature not implemented: no details.
@@ -292,8 +282,6 @@
   auto commit     true
   read only       false
   has warnings    false
-Switch to local XADataSource FAIL incorrect Statement object returned for ResultSet.getStatement
-Switch to local XADataSource FAIL incorrect Statement object returned for ResultSet.getStatement
 setTypeMap(EMPTY_MAP) - ok
 setTypeMap(null) - ok XJ081 - Invalid value 'null' passed as parameter 'map' to method 'java.sql.Connection.setTypeMap'
 setTypeMap(map) - ok 0A000 - Feature not implemented: no details.
@@ -310,8 +298,6 @@
   auto commit     true
   read only       false
   has warnings    false
-Switch to local XADataSource FAIL incorrect Statement object returned for ResultSet.getStatement
-Switch to local XADataSource FAIL incorrect Statement object returned for ResultSet.getStatement
 setTypeMap(EMPTY_MAP) - ok
 setTypeMap(null) - ok XJ081 - Invalid value 'null' passed as parameter 'map' to method 'java.sql.Connection.setTypeMap'
 setTypeMap(map) - ok 0A000 - Feature not implemented: no details.
@@ -328,8 +314,6 @@
   auto commit     false
   read only       false
   has warnings    false
-Switch to global XADataSource FAIL incorrect Statement object returned for ResultSet.getStatement
-Switch to global XADataSource FAIL incorrect Statement object returned for ResultSet.getStatement
 setTypeMap(EMPTY_MAP) - ok
 setTypeMap(null) - ok XJ081 - Invalid value 'null' passed as parameter 'map' to method 'java.sql.Connection.setTypeMap'
 setTypeMap(map) - ok 0A000 - Feature not implemented: no details.
@@ -346,8 +330,6 @@
   auto commit     false
   read only       false
   has warnings    false
-Switch to global XADataSource FAIL incorrect Statement object returned for ResultSet.getStatement
-Switch to global XADataSource FAIL incorrect Statement object returned for ResultSet.getStatement
 setTypeMap(EMPTY_MAP) - ok
 setTypeMap(null) - ok XJ081 - Invalid value 'null' passed as parameter 'map' to method 'java.sql.Connection.setTypeMap'
 setTypeMap(map) - ok 0A000 - Feature not implemented: no details.