Derby
  1. Derby
  2. DERBY-4169

'No method was found that matched the method call ....' in testPayment and testSubmitter (org.apache.derbyTesting.system.oe.test.OperationsTester) on 10.5.1.1 (RC2)

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: 10.5.1.1
    • Fix Version/s: 10.5.1.1
    • Component/s: Test
    • Labels:
      None
    • Environment:
    • Bug behavior facts:
      Regression Test Failure

      Description

      Seen when running testPayment(org.apache.derbyTesting.system.oe.test.OperationsTester) with 10.5.1.1 (RC2).
      The test passed with no failures on 10.4.2.0.

      1) testPayment(org.apache.derbyTesting.system.oe.test.OperationsTester)java.sql.SQLSyntaxErrorException: No method was found that matched the method call org.apache.derbyTesting.system.oe.routines.Data.dataForBadCredit(java.lang.String, short, short, short, short, int, java.math.BigDecimal), tried all combinations of object and primitive types and any possible type conversion for any parameters the method call may have. The method might exist but it is not public and/or static, or the parameter types are not method invocation convertible.
      at org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown Source)
      at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown Source)
      at org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown Source)
      at org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Unknown Source)
      at org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown Source)
      at org.apache.derby.impl.jdbc.ConnectionChild.handleException(Unknown Source)
      at org.apache.derby.impl.jdbc.EmbedPreparedStatement.<init>(Unknown Source)
      at org.apache.derby.impl.jdbc.EmbedPreparedStatement20.<init>(Unknown Source)
      at org.apache.derby.impl.jdbc.EmbedPreparedStatement30.<init>(Unknown Source)
      at org.apache.derby.impl.jdbc.EmbedPreparedStatement40.<init>(Unknown Source)
      at org.apache.derby.jdbc.Driver40.newEmbedPreparedStatement(Unknown Source)
      at org.apache.derby.impl.jdbc.EmbedConnection.prepareStatement(Unknown Source)
      at org.apache.derby.impl.jdbc.EmbedConnection.prepareStatement(Unknown Source)
      at org.apache.derbyTesting.system.oe.direct.StatementHelper.prepareStatement(StatementHelper.java:76)
      at org.apache.derbyTesting.system.oe.direct.Standard.paymentById(Standard.java:420)
      at org.apache.derbyTesting.system.oe.direct.Standard.payment(Standard.java:375)
      at org.apache.derbyTesting.system.oe.test.OperationsTester.testPayment(OperationsTester.java:134)
      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:105)
      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)

      2) testSubmitter(org.apache.derbyTesting.system.oe.test.OperationsTester)java.sql.SQLSyntaxErrorException: No method was found that matched the method call org.apache.derbyTesting.system.oe.routines.Data.dataForBadCredit(java.lang.String, short, short, short, short, int, java.math.BigDecimal), tried all combinations of object and primitive types and any possible type conversion for any parameters the method call may have. The method might exist but it is not public and/or static, or the parameter types are not method invocation convertible.
      at org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown Source)
      at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown Source)
      at org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown Source)
      at org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Unknown Source)
      at org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown Source)
      at org.apache.derby.impl.jdbc.ConnectionChild.handleException(Unknown Source)
      at org.apache.derby.impl.jdbc.EmbedPreparedStatement.<init>(Unknown Source)
      at org.apache.derby.impl.jdbc.EmbedPreparedStatement20.<init>(Unknown Source)
      at org.apache.derby.impl.jdbc.EmbedPreparedStatement30.<init>(Unknown Source)
      at org.apache.derby.impl.jdbc.EmbedPreparedStatement40.<init>(Unknown Source)
      at org.apache.derby.jdbc.Driver40.newEmbedPreparedStatement(Unknown Source)
      at org.apache.derby.impl.jdbc.EmbedConnection.prepareStatement(Unknown Source)
      at org.apache.derby.impl.jdbc.EmbedConnection.prepareStatement(Unknown Source)
      at org.apache.derbyTesting.system.oe.direct.StatementHelper.prepareStatement(StatementHelper.java:76)
      at org.apache.derbyTesting.system.oe.direct.Standard.paymentById(Standard.java:420)
      at org.apache.derbyTesting.system.oe.direct.Standard.payment(Standard.java:395)
      at org.apache.derbyTesting.system.oe.client.Submitter.runPayment(Submitter.java:437)
      at org.apache.derbyTesting.system.oe.client.Submitter.runTransaction(Submitter.java:316)
      at org.apache.derbyTesting.system.oe.test.OperationsTester.testSubmitter(OperationsTester.java:259)
      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:105)
      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)

      Related to DERBY-1483, DERBY-3119, DERBY-2179, DERBY-3652?

        Activity

        Hide
        Rick Hillegas added a comment -

        Thanks for running this test and logging this issue, Ole. Was this test run on RC1? If so, it's puzzling why it turns up on RC2 but not RC1. Otherwise, this is likely fallout from DERBY-3652 and the test needs to be updated so that the Java method signature matches the SQL routine declaration according to the ANSI/ISO rules.

        Show
        Rick Hillegas added a comment - Thanks for running this test and logging this issue, Ole. Was this test run on RC1? If so, it's puzzling why it turns up on RC2 but not RC1. Otherwise, this is likely fallout from DERBY-3652 and the test needs to be updated so that the Java method signature matches the SQL routine declaration according to the ANSI/ISO rules.
        Hide
        Ole Solberg added a comment -

        I hadn't run this on RC1, but did now and see the same failure.

        Show
        Ole Solberg added a comment - I hadn't run this on RC1, but did now and see the same failure.
        Hide
        Rick Hillegas added a comment -

        How is this test supposed to be run? When I run it standalone on the trunk (the way I run other JUnit tests), it fails on some missing context:

        1) testStockLevel(org.apache.derbyTesting.system.oe.test.OperationsTester)java.sql.SQLException: Table/View 'C' does not exist.
        at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(SQLExceptionFactory.java:45)
        at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Util.java:201)
        at org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(TransactionResourceImpl.java:391)
        at org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(TransactionResourceImpl.java:346)
        at org.apache.derby.impl.jdbc.EmbedConnection.handleException(EmbedConnection.java:2201)
        at org.apache.derby.impl.jdbc.ConnectionChild.handleException(ConnectionChild.java:81)
        at org.apache.derby.impl.jdbc.EmbedStatement.execute(EmbedStatement.java:614)
        at org.apache.derby.impl.jdbc.EmbedStatement.executeQuery(EmbedStatement.java:152)
        at org.apache.derbyTesting.system.oe.client.Submitter.getRuntimeRandom(Submitter.java:124)
        at org.apache.derbyTesting.system.oe.test.OperationsTester.setUp(OperationsTester.java:56)
        at org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java:105)
        Caused by: ERROR 42X05: Table/View 'C' does not exist.
        at org.apache.derby.iapi.error.StandardException.newException(StandardException.java:286)
        at org.apache.derby.impl.sql.compile.FromBaseTable.bindTableDescriptor(FromBaseTable.java:2456)
        at org.apache.derby.impl.sql.compile.FromBaseTable.bindNonVTITables(FromBaseTable.java:2176)
        at org.apache.derby.impl.sql.compile.FromList.bindTables(FromList.java:310)
        at org.apache.derby.impl.sql.compile.SelectNode.bindNonVTITables(SelectNode.java:390)
        at org.apache.derby.impl.sql.compile.DMLStatementNode.bindTables(DMLStatementNode.java:199)
        at org.apache.derby.impl.sql.compile.DMLStatementNode.bind(DMLStatementNode.java:137)
        at org.apache.derby.impl.sql.compile.CursorNode.bindStatement(CursorNode.java:245)
        at org.apache.derby.impl.sql.GenericStatement.prepMinion(GenericStatement.java:316)
        at org.apache.derby.impl.sql.GenericStatement.prepare(GenericStatement.java:88)
        at org.apache.derby.impl.sql.conn.GenericLanguageConnectionContext.prepareInternalStatement(GenericLanguageConnectionContext.java:802)
        at org.apache.derby.impl.jdbc.EmbedStatement.execute(EmbedStatement.java:606)
        ... 14 more

        ...

        Thanks.

        Show
        Rick Hillegas added a comment - How is this test supposed to be run? When I run it standalone on the trunk (the way I run other JUnit tests), it fails on some missing context: 1) testStockLevel(org.apache.derbyTesting.system.oe.test.OperationsTester)java.sql.SQLException: Table/View 'C' does not exist. at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(SQLExceptionFactory.java:45) at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Util.java:201) at org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(TransactionResourceImpl.java:391) at org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(TransactionResourceImpl.java:346) at org.apache.derby.impl.jdbc.EmbedConnection.handleException(EmbedConnection.java:2201) at org.apache.derby.impl.jdbc.ConnectionChild.handleException(ConnectionChild.java:81) at org.apache.derby.impl.jdbc.EmbedStatement.execute(EmbedStatement.java:614) at org.apache.derby.impl.jdbc.EmbedStatement.executeQuery(EmbedStatement.java:152) at org.apache.derbyTesting.system.oe.client.Submitter.getRuntimeRandom(Submitter.java:124) at org.apache.derbyTesting.system.oe.test.OperationsTester.setUp(OperationsTester.java:56) at org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java:105) Caused by: ERROR 42X05: Table/View 'C' does not exist. at org.apache.derby.iapi.error.StandardException.newException(StandardException.java:286) at org.apache.derby.impl.sql.compile.FromBaseTable.bindTableDescriptor(FromBaseTable.java:2456) at org.apache.derby.impl.sql.compile.FromBaseTable.bindNonVTITables(FromBaseTable.java:2176) at org.apache.derby.impl.sql.compile.FromList.bindTables(FromList.java:310) at org.apache.derby.impl.sql.compile.SelectNode.bindNonVTITables(SelectNode.java:390) at org.apache.derby.impl.sql.compile.DMLStatementNode.bindTables(DMLStatementNode.java:199) at org.apache.derby.impl.sql.compile.DMLStatementNode.bind(DMLStatementNode.java:137) at org.apache.derby.impl.sql.compile.CursorNode.bindStatement(CursorNode.java:245) at org.apache.derby.impl.sql.GenericStatement.prepMinion(GenericStatement.java:316) at org.apache.derby.impl.sql.GenericStatement.prepare(GenericStatement.java:88) at org.apache.derby.impl.sql.conn.GenericLanguageConnectionContext.prepareInternalStatement(GenericLanguageConnectionContext.java:802) at org.apache.derby.impl.jdbc.EmbedStatement.execute(EmbedStatement.java:606) ... 14 more ... Thanks.
        Hide
        Ole Solberg added a comment -

        This is how I run it:

        java junit.textui.TestRunner org.apache.derbyTesting.system.oe.test._Suite

        (or all my "standard" details:
        java -Xmx256M -XX:MaxPermSize=128M -DderbyTesting.oldReleasePath=/usr/local/share/java/derby/lib -Dderby.tests.trace=true junit.textui.TestRunner org.apache.derbyTesting.system.oe.test._Suite
        But the extra params shouldn't matter.)

        Show
        Ole Solberg added a comment - This is how I run it: java junit.textui.TestRunner org.apache.derbyTesting.system.oe.test._Suite (or all my "standard" details: java -Xmx256M -XX:MaxPermSize=128M -DderbyTesting.oldReleasePath=/usr/local/share/java/derby/lib -Dderby.tests.trace=true junit.textui.TestRunner org.apache.derbyTesting.system.oe.test._Suite But the extra params shouldn't matter.)
        Hide
        Rick Hillegas added a comment -

        Attaching derby-4169-01-aa-changeSQLSignature.diff. This patch changes the signature of a SQL routine to match the corresponding Java method according to the ANSI/ISO rules. Two routine args were changed from SMALLINT to INT so that they will match Java int arguments. The test (org.apache.derbyTesting.system.oe.test._Suite) now runs cleanly for me.

        Committed at subversion revision 766722.

        Touches the following file:

        M java/testing/org/apache/derbyTesting/system/oe/schema/dataroutines.sql

        Show
        Rick Hillegas added a comment - Attaching derby-4169-01-aa-changeSQLSignature.diff. This patch changes the signature of a SQL routine to match the corresponding Java method according to the ANSI/ISO rules. Two routine args were changed from SMALLINT to INT so that they will match Java int arguments. The test (org.apache.derbyTesting.system.oe.test._Suite) now runs cleanly for me. Committed at subversion revision 766722. Touches the following file: M java/testing/org/apache/derbyTesting/system/oe/schema/dataroutines.sql
        Hide
        Rick Hillegas added a comment -

        Ported 766722 from the trunk to the 10.5 branch at subversion revision 766724.

        Show
        Rick Hillegas added a comment - Ported 766722 from the trunk to the 10.5 branch at subversion revision 766724.
        Hide
        Ole Solberg added a comment -

        Verified on trunk and 10.5

        Show
        Ole Solberg added a comment - Verified on trunk and 10.5

          People

          • Assignee:
            Rick Hillegas
            Reporter:
            Ole Solberg
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development