Derby
  1. Derby
  2. DERBY-4743

Attempt to access a DECLARE GLOBAL TEMPORARY TABLE after commit in an XA transaction in Network server fails.

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 10.3.1.4, 10.3.2.1, 10.3.3.0, 10.4.1.3, 10.4.2.0, 10.5.1.1, 10.5.2.0, 10.5.3.0, 10.6.1.0
    • Fix Version/s: 10.7.1.1
    • Component/s: JDBC

      Description

      Attempting to access a global temporary table after commit of an XA transaction in network server fails. Does anyone know if this is
      actually meant to work. After a commit of an XA transaction in network server do the connection keep the same transaction context for
      subsequent work? I will commit a change to the XATest.java junit test that shows this. Is it valid to attempt to use the connection after an
      XA end() and XA commit()?

      1. XATest.java
        48 kB
        Mike Matrigali

        Issue Links

          Activity

          Hide
          Knut Anders Hatlen added a comment -

          [bulk update] Close all resolved issues that haven't been updated for more than one year.

          Show
          Knut Anders Hatlen added a comment - [bulk update] Close all resolved issues that haven't been updated for more than one year.
          Hide
          Mike Matrigali added a comment -

          Access to global temporary table is not valid after an XA commit. This behavior was made consistent by the fix to DERBY-4731. A new test has been checked in to verify the behavior in embedded and network server.

          Show
          Mike Matrigali added a comment - Access to global temporary table is not valid after an XA commit. This behavior was made consistent by the fix to DERBY-4731 . A new test has been checked in to verify the behavior in embedded and network server.
          Hide
          Mike Matrigali added a comment -

          DERBY-4731 needs to be fixed before this one can be addressed.

          Show
          Mike Matrigali added a comment - DERBY-4731 needs to be fixed before this one can be addressed.
          Hide
          Mike Matrigali added a comment -

          2) testXATempTableD4743(org.apache.derbyTesting.functionTests.tests.jdbcapi.XATest)java.sql.SQLSyntaxErrorException: Table/View 'SESSION.T1' does not exist.
          at org.apache.derby.client.am.SQLExceptionFactory40.getSQLException(SQLExceptionFactory40.java:84)
          at org.apache.derby.client.am.SqlException.getSQLException(SqlException.java:358)
          at org.apache.derby.client.am.Statement.executeQuery(Statement.java:483)
          at org.apache.derbyTesting.functionTests.tests.jdbcapi.XATest.doXATempTableD4731Work(XATest.java:1188)
          at org.apache.derbyTesting.functionTests.tests.jdbcapi.XATest.testXATempTableD4743(XATest.java:1129)
          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
          at org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java:109)
          at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
          at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
          at junit.extensions.TestSetup.run(TestSetup.java:25)
          at org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:57)
          at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
          at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
          at junit.extensions.TestSetup.run(TestSetup.java:25)
          at org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:57)
          at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
          at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
          at junit.extensions.TestSetup.run(TestSetup.java:25)
          Caused by: org.apache.derby.client.am.SqlException: Table/View 'SESSION.T1' does not exist.
          at org.apache.derby.client.am.Statement.completeSqlca(Statement.java:1833)
          at org.apache.derby.client.net.NetStatementReply.parsePrepareError(NetStatementReply.java:564)
          at org.apache.derby.client.net.NetStatementReply.parsePRPSQLSTTreply(NetStatementReply.java:144)
          at org.apache.derby.client.net.NetStatementReply.readPrepareDescribeOutput(NetStatementReply.java:53)
          at org.apache.derby.client.net.StatementReply.readPrepareDescribeOutput(StatementReply.java:40)
          at org.apache.derby.client.net.NetStatement.readPrepareDescribeOutput_(NetStatement.java:142)
          at org.apache.derby.client.am.Statement.readPrepareDescribeOutput(Statement.java:1440)
          at org.apache.derby.client.am.Statement.flowExecute(Statement.java:2093)
          at org.apache.derby.client.am.Statement.executeQueryX(Statement.java:489)
          at org.apache.derby.client.am.Statement.executeQuery(Statement.java:474)
          ... 36 more

          Show
          Mike Matrigali added a comment - 2) testXATempTableD4743(org.apache.derbyTesting.functionTests.tests.jdbcapi.XATest)java.sql.SQLSyntaxErrorException: Table/View 'SESSION.T1' does not exist. at org.apache.derby.client.am.SQLExceptionFactory40.getSQLException(SQLExceptionFactory40.java:84) at org.apache.derby.client.am.SqlException.getSQLException(SqlException.java:358) at org.apache.derby.client.am.Statement.executeQuery(Statement.java:483) at org.apache.derbyTesting.functionTests.tests.jdbcapi.XATest.doXATempTableD4731Work(XATest.java:1188) at org.apache.derbyTesting.functionTests.tests.jdbcapi.XATest.testXATempTableD4743(XATest.java:1129) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java:109) at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24) at junit.extensions.TestSetup$1.protect(TestSetup.java:21) at junit.extensions.TestSetup.run(TestSetup.java:25) at org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:57) at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24) at junit.extensions.TestSetup$1.protect(TestSetup.java:21) at junit.extensions.TestSetup.run(TestSetup.java:25) at org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:57) at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24) at junit.extensions.TestSetup$1.protect(TestSetup.java:21) at junit.extensions.TestSetup.run(TestSetup.java:25) Caused by: org.apache.derby.client.am.SqlException: Table/View 'SESSION.T1' does not exist. at org.apache.derby.client.am.Statement.completeSqlca(Statement.java:1833) at org.apache.derby.client.net.NetStatementReply.parsePrepareError(NetStatementReply.java:564) at org.apache.derby.client.net.NetStatementReply.parsePRPSQLSTTreply(NetStatementReply.java:144) at org.apache.derby.client.net.NetStatementReply.readPrepareDescribeOutput(NetStatementReply.java:53) at org.apache.derby.client.net.StatementReply.readPrepareDescribeOutput(StatementReply.java:40) at org.apache.derby.client.net.NetStatement.readPrepareDescribeOutput_(NetStatement.java:142) at org.apache.derby.client.am.Statement.readPrepareDescribeOutput(Statement.java:1440) at org.apache.derby.client.am.Statement.flowExecute(Statement.java:2093) at org.apache.derby.client.am.Statement.executeQueryX(Statement.java:489) at org.apache.derby.client.am.Statement.executeQuery(Statement.java:474) ... 36 more

            People

            • Assignee:
              Mike Matrigali
              Reporter:
              Mike Matrigali
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development