Derby
  1. Derby
  2. DERBY-1180

Add vacuous implementations of missing JDBC4 methods

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 10.2.1.6
    • Fix Version/s: 10.2.1.6
    • Component/s: JDBC
    • Labels:
      None
    • Issue & fix info:
      Patch Available

      Description

      If you run the VerifySignatures test, you will see a lot of JDBC4 methods which don't appear in our implementation yet. We need to add vacuous implementations for these methods which raise SQLFeatureNotSupportedExceptions. Most of these methods won't need any more attention because they refer to features (like xml and national strings) which we don't support. We will open additional JIRAs for the methods which need non-vacuous implementations.

      1. bug1180_embeddedStarter.diff
        15 kB
        Rick Hillegas
      2. bug1180_1.diff
        3 kB
        Rick Hillegas
      3. derby-1180-1a-embedded.diff
        6 kB
        Kristian Waagan
      4. derby-1180-1a-embedded.stat
        0.3 kB
        Kristian Waagan
      5. derby-1180-2a-client.diff
        4 kB
        Kristian Waagan
      6. derby-1180-2a-client.stat
        0.2 kB
        Kristian Waagan
      7. derby-1180-3a-testing.diff
        27 kB
        Kristian Waagan
      8. derby-1180-3a-testing.stat
        0.5 kB
        Kristian Waagan
      9. derby-1180-4a-logcialconnection_and_tests.diff
        38 kB
        Kristian Waagan
      10. derby-1180-4a-logcialconnection_and_tests.stat
        1.0 kB
        Kristian Waagan
      11. derby-1180-4b-logicalconnection_and_tests.diff
        38 kB
        Kristian Waagan
      12. derby-1180-4c-logicalconnection_and_tests.diff
        38 kB
        Kristian Waagan

        Issue Links

          Activity

          Hide
          Kristian Waagan added a comment -

          No more work expected for this issue; closing it. If the JDBC 4 spec changes, it will be handled under other and more specific Jiras.

          Show
          Kristian Waagan added a comment - No more work expected for this issue; closing it. If the JDBC 4 spec changes, it will be handled under other and more specific Jiras.
          Hide
          Knut Anders Hatlen added a comment -

          Deleting java/testing/org/apache/derbyTesting/functionTests/tests/jdbc4/EmbeddedBrokeredConnectionWrapperTest.java

          Committed revision 399265.

          Show
          Knut Anders Hatlen added a comment - Deleting java/testing/org/apache/derbyTesting/functionTests/tests/jdbc4/EmbeddedBrokeredConnectionWrapperTest.java Committed revision 399265.
          Hide
          Kristian Waagan added a comment -

          Thanks for committing Rick.
          Sorry for the compile warning, I did not even see it...

          Could a committer please delete the file 'java/testing/org/apache/derbyTesting/functionTests/tests/jdbc4/EmbeddedBrokeredConnectionWrapperTest.java'? It was deleted as part of the patch, but svn del was not run for it. Right now it is an empty file.

          Show
          Kristian Waagan added a comment - Thanks for committing Rick. Sorry for the compile warning, I did not even see it... Could a committer please delete the file 'java/testing/org/apache/derbyTesting/functionTests/tests/jdbc4/EmbeddedBrokeredConnectionWrapperTest.java'? It was deleted as part of the patch, but svn del was not run for it. Right now it is an empty file.
          Hide
          Rick Hillegas added a comment -

          Committed 4c at subversion revision 398594. Derbyall ran cleanly with 4a before the MessageId migration and I did not rerun it against 4c. I did rerun the jdbc4 tests against 4c and they passed.

          Unfortunately, this patch introduces another instance of the following build warning which has been discussed on derby-dev. I believe that Knut Anders has a plan for fixing these:

          [javac] /home/rh161140/derby/mainline/trunk/java/client/org/apache/derby/client/am/LogicalConnection40.java:43: warn
          ing: getTypeMap() in org.apache.derby.client.am.LogicalConnection implements getTypeMap() in java.sql.Connection; return
          type requires unchecked conversion
          [javac] found : java.util.Map
          [javac] required: java.util.Map<java.lang.String,java.lang.Class<?>>
          [javac] public class LogicalConnection40

          Show
          Rick Hillegas added a comment - Committed 4c at subversion revision 398594. Derbyall ran cleanly with 4a before the MessageId migration and I did not rerun it against 4c. I did rerun the jdbc4 tests against 4c and they passed. Unfortunately, this patch introduces another instance of the following build warning which has been discussed on derby-dev. I believe that Knut Anders has a plan for fixing these: [javac] /home/rh161140/derby/mainline/trunk/java/client/org/apache/derby/client/am/LogicalConnection40.java:43: warn ing: getTypeMap() in org.apache.derby.client.am.LogicalConnection implements getTypeMap() in java.sql.Connection; return type requires unchecked conversion [javac] found : java.util.Map [javac] required: java.util.Map<java.lang.String,java.lang.Class<?>> [javac] public class LogicalConnection40
          Hide
          Kristian Waagan added a comment -

          Sorry, forgot to update the patch with your fix Rick. 'derby-1180-4c-logicalconnection_and_tests.diff' includes the added package name in the license for ConnectionTest (and the fix from patch version 4b).

          Show
          Kristian Waagan added a comment - Sorry, forgot to update the patch with your fix Rick. 'derby-1180-4c-logicalconnection_and_tests.diff' includes the added package name in the license for ConnectionTest (and the fix from patch version 4b).
          Hide
          Kristian Waagan added a comment -

          'derby-1180-4b-logicalconnection_and_tests.diff' fixes the problem with a renamed class (am.MessageId -> am.ClientMessageId). This is what David warned us about. Nothing else is changed in the patch. No tests rerun.

          Show
          Kristian Waagan added a comment - 'derby-1180-4b-logicalconnection_and_tests.diff' fixes the problem with a renamed class (am.MessageId -> am.ClientMessageId). This is what David warned us about. Nothing else is changed in the patch. No tests rerun.
          Hide
          Rick Hillegas added a comment -

          I am afraid that this excellent patch needs resolution with the mainline. I am now getting compilation errors:

          [javac] public class LogicalConnection40
          [javac] ^
          [javac] /home/rh161140/derby/mainline/trunk/java/client/org/apache/derby/client/am/LogicalConnection40.java:120: can
          not find symbol
          [javac] symbol : class MessageId
          [javac] location: class org.apache.derby.client.am.LogicalConnection40
          [javac] new MessageId(SQLState.UNABLE_TO_UNWRAP),
          [javac] ^

          Show
          Rick Hillegas added a comment - I am afraid that this excellent patch needs resolution with the mainline. I am now getting compilation errors: [javac] public class LogicalConnection40 [javac] ^ [javac] /home/rh161140/derby/mainline/trunk/java/client/org/apache/derby/client/am/LogicalConnection40.java:120: can not find symbol [javac] symbol : class MessageId [javac] location: class org.apache.derby.client.am.LogicalConnection40 [javac] new MessageId(SQLState.UNABLE_TO_UNWRAP), [javac] ^
          Hide
          Rick Hillegas added a comment -

          Thanks, Kristian. I have made one small change to ConnectionTest (I added the package identifier to the javadoc comment). I will run tests now.

          Show
          Rick Hillegas added a comment - Thanks, Kristian. I have made one small change to ConnectionTest (I added the package identifier to the javadoc comment). I will run tests now.
          Hide
          Kristian Waagan added a comment -

          'derby-1180-4a-logcialconnection_and_tests.diff' is the last planned patch for this issue. It fixes the missing method signatures in LogicalConneciton. I had to create a factory method and add a new file.

          I have also added a connection test suite, testing both the "regular" conneciton, and the real connection for PooledConnection and XAConnection. The test is not yet enabled, as there are two failures: createQueryObject is not implemented in Logical-/BrokeredConnection40. EmbedBrokeredConnectionWrapperTest is deleted, the tests themselves are moved into ConnectionTest.

          There are now 6 missing signatures for client (createStruct/Array) and 8 for embedded (createStruct/-Array + is/setPoolable). These will be fixed as part of other Jira issues. jdbc40 suite run without failures on both DerbyNetClient and embedded.

          Please review/commit.

          Show
          Kristian Waagan added a comment - 'derby-1180-4a-logcialconnection_and_tests.diff' is the last planned patch for this issue. It fixes the missing method signatures in LogicalConneciton. I had to create a factory method and add a new file. I have also added a connection test suite, testing both the "regular" conneciton, and the real connection for PooledConnection and XAConnection. The test is not yet enabled, as there are two failures: createQueryObject is not implemented in Logical-/BrokeredConnection40. EmbedBrokeredConnectionWrapperTest is deleted, the tests themselves are moved into ConnectionTest. There are now 6 missing signatures for client (createStruct/ Array) and 8 for embedded (createStruct/-Array + is /setPoolable). These will be fixed as part of other Jira issues. jdbc40 suite run without failures on both DerbyNetClient and embedded. Please review/commit.
          Hide
          Rick Hillegas added a comment -

          Applying both patches results in clean tests (jdbc4 tests and derbyall modulo wisconsin noise). Committed derby-1180-2a-client.diff and derby-1180-3a-testing.diff at subversion revision 396669.

          Show
          Rick Hillegas added a comment - Applying both patches results in clean tests (jdbc4 tests and derbyall modulo wisconsin noise). Committed derby-1180-2a-client.diff and derby-1180-3a-testing.diff at subversion revision 396669.
          Hide
          Rick Hillegas added a comment -

          I will retry the testing diff after applying the 2a patch. That is probably the problem...

          Show
          Rick Hillegas added a comment - I will retry the testing diff after applying the 2a patch. That is probably the problem...
          Hide
          Rick Hillegas added a comment -

          Hi Kristian, thanks for the tests. The embedded tests run cleanly for me. However, I'm seeing the following problems in the network run.

                          • Diff file jdbc40/DerbyNetClient/jdbc40/BlobTest.diff
              • Start: BlobTest jdk1.6.0-beta2 DerbyNetClient jdbc40:jdbc40 2006-04-24 08:46:46 ***
                0 add
                > .E.E
                > There were 2 errors:
                > 1) testFreeNotImplemented(org.apache.derbyTesting.functionTests.tests.jdbc4.BlobTest)java.lang.AbstractMethodError: org.apache.derby.client.am.Blob.free()V
                > 2) testGetBinaryStringLongNotImplemented(org.apache.derbyTesting.functionTests.tests.jdbc4.BlobTest)java.lang.AbstractMethodError: org.apache.derby.client.am.Blob.getBinaryStream(JJ)Ljava/io/InputStream;
                > FAILURES!!!
                > Tests run: 2, Failures: 0, Errors: 2
                Test Failed.

          ...

              • Start: ClobTest jdk1.6.0-beta2 DerbyNetClient jdbc40:jdbc40 2006-04-24 08:47:02 ***
                0 add
                > .E.E
                > There were 2 errors:
                > 1) testFreeNotImplemented(org.apache.derbyTesting.functionTests.tests.jdbc4.ClobTest)java.lang.AbstractMethodError: org.apache.derby.client.am.Clob.free()V
                > 2) testGetCharacterStreamLongNotImplemented(org.apache.derbyTesting.functionTests.tests.jdbc4.ClobTest)java.lang.AbstractMethodError: org.apache.derby.client.am.Clob.getCharacterStream(JJ)Ljava/io/Reader;
                > FAILURES!!!
                > Tests run: 2, Failures: 0, Errors: 2
                Test Failed.
              • End: ClobTest jdk1.6.0-beta2 DerbyNetClient jdbc40:jdbc40 2006-04-24 08:47:09 ***

          ...

              • Start: ResultSetTest jdk1.6.0-beta2 DerbyNetClient jdbc40:jdbc40 2006-04-24 08:47:10 ***
                0 add
                > .E.E...E.E...E.E......
                > There were 6 errors:
                > 1) testGetNCharacterStreamIntNotImplemented(org.apache.derbyTesting.functionTests.tests.jdbc4.ResultSetTest)java.lang.AbstractMethodError: org.apache.derby.client.net.NetResultSet40.getNCharacterStream(I)Ljava/io/Reader;
                > 2) testGetNCharaterStreamStringNotImplemented(org.apache.derbyTesting.functionTests.tests.jdbc4.ResultSetTest)java.lang.AbstractMethodError: org.apache.derby.client.net.NetResultSet40.getNCharacterStream(Ljava/lang/String;)Ljava/io/Reader;
                > 3) testGetNStringIntNotImplemented(org.apache.derbyTesting.functionTests.tests.jdbc4.ResultSetTest)java.lang.AbstractMethodError: org.apache.derby.client.net.NetResultSet40.getNString(I)Ljava/lang/String;
                > 4) testGetNStringStringNotImplemented(org.apache.derbyTesting.functionTests.tests.jdbc4.ResultSetTest)java.lang.AbstractMethodError: org.apache.derby.client.net.NetResultSet40.getNString(Ljava/lang/String;)Ljava/lang/String;
                > 5) testUpdateNCharacterStreamIntNotImplemented(org.apache.derbyTesting.functionTests.tests.jdbc4.ResultSetTest)java.lang.AbstractMethodError: org.apache.derby.client.net.NetResultSet40.updateNCharacterStream(ILjava/io/Reader;I)V
                > 6) testUpdateNCharaterStreamStringNotImplemented(org.apache.derbyTesting.functionTests.tests.jdbc4.ResultSetTest)java.lang.AbstractMethodError: org.apache.derby.client.net.NetResultSet40.updateNCharacterStream(Ljava/lang/String;Ljava/io/Reader;I)V
                > FAILURES!!!
                > Tests run: 16, Failures: 0, Errors: 6
                Test Failed.
              • End: ResultSetTest jdk1.6.0-beta2 DerbyNetClient jdbc40:jdbc40 2006-04-24 08:47:16 ***
          Show
          Rick Hillegas added a comment - Hi Kristian, thanks for the tests. The embedded tests run cleanly for me. However, I'm seeing the following problems in the network run. Diff file jdbc40/DerbyNetClient/jdbc40/BlobTest.diff Start: BlobTest jdk1.6.0-beta2 DerbyNetClient jdbc40:jdbc40 2006-04-24 08:46:46 *** 0 add > .E.E > There were 2 errors: > 1) testFreeNotImplemented(org.apache.derbyTesting.functionTests.tests.jdbc4.BlobTest)java.lang.AbstractMethodError: org.apache.derby.client.am.Blob.free()V > 2) testGetBinaryStringLongNotImplemented(org.apache.derbyTesting.functionTests.tests.jdbc4.BlobTest)java.lang.AbstractMethodError: org.apache.derby.client.am.Blob.getBinaryStream(JJ)Ljava/io/InputStream; > FAILURES!!! > Tests run: 2, Failures: 0, Errors: 2 Test Failed. ... Start: ClobTest jdk1.6.0-beta2 DerbyNetClient jdbc40:jdbc40 2006-04-24 08:47:02 *** 0 add > .E.E > There were 2 errors: > 1) testFreeNotImplemented(org.apache.derbyTesting.functionTests.tests.jdbc4.ClobTest)java.lang.AbstractMethodError: org.apache.derby.client.am.Clob.free()V > 2) testGetCharacterStreamLongNotImplemented(org.apache.derbyTesting.functionTests.tests.jdbc4.ClobTest)java.lang.AbstractMethodError: org.apache.derby.client.am.Clob.getCharacterStream(JJ)Ljava/io/Reader; > FAILURES!!! > Tests run: 2, Failures: 0, Errors: 2 Test Failed. End: ClobTest jdk1.6.0-beta2 DerbyNetClient jdbc40:jdbc40 2006-04-24 08:47:09 *** ... Start: ResultSetTest jdk1.6.0-beta2 DerbyNetClient jdbc40:jdbc40 2006-04-24 08:47:10 *** 0 add > .E.E...E.E...E.E...... > There were 6 errors: > 1) testGetNCharacterStreamIntNotImplemented(org.apache.derbyTesting.functionTests.tests.jdbc4.ResultSetTest)java.lang.AbstractMethodError: org.apache.derby.client.net.NetResultSet40.getNCharacterStream(I)Ljava/io/Reader; > 2) testGetNCharaterStreamStringNotImplemented(org.apache.derbyTesting.functionTests.tests.jdbc4.ResultSetTest)java.lang.AbstractMethodError: org.apache.derby.client.net.NetResultSet40.getNCharacterStream(Ljava/lang/String;)Ljava/io/Reader; > 3) testGetNStringIntNotImplemented(org.apache.derbyTesting.functionTests.tests.jdbc4.ResultSetTest)java.lang.AbstractMethodError: org.apache.derby.client.net.NetResultSet40.getNString(I)Ljava/lang/String; > 4) testGetNStringStringNotImplemented(org.apache.derbyTesting.functionTests.tests.jdbc4.ResultSetTest)java.lang.AbstractMethodError: org.apache.derby.client.net.NetResultSet40.getNString(Ljava/lang/String;)Ljava/lang/String; > 5) testUpdateNCharacterStreamIntNotImplemented(org.apache.derbyTesting.functionTests.tests.jdbc4.ResultSetTest)java.lang.AbstractMethodError: org.apache.derby.client.net.NetResultSet40.updateNCharacterStream(ILjava/io/Reader;I)V > 6) testUpdateNCharaterStreamStringNotImplemented(org.apache.derbyTesting.functionTests.tests.jdbc4.ResultSetTest)java.lang.AbstractMethodError: org.apache.derby.client.net.NetResultSet40.updateNCharacterStream(Ljava/lang/String;Ljava/io/Reader;I)V > FAILURES!!! > Tests run: 16, Failures: 0, Errors: 6 Test Failed. End: ResultSetTest jdk1.6.0-beta2 DerbyNetClient jdbc40:jdbc40 2006-04-24 08:47:16 ***
          Hide
          Kristian Waagan added a comment -

          'derby-1180-3a-testing.diff' implements tests for the missing signatures added.
          New blob and clob test classes are added.
          Several existing tests for ResultSet are converted to JUnit tests (the rest will follow at a later time).

          Existing and new tests pass with the patches for this issue. Please review/commit.

          Show
          Kristian Waagan added a comment - 'derby-1180-3a-testing.diff' implements tests for the missing signatures added. New blob and clob test classes are added. Several existing tests for ResultSet are converted to JUnit tests (the rest will follow at a later time). Existing and new tests pass with the patches for this issue. Please review/commit.
          Hide
          Kristian Waagan added a comment -

          'derby-1180-2a-client.diff' adds 10 more missing signatures for the client. VerifySignatures now reports 22 missing methods, but there are patches awaiting review/commit for many of these. The most prominent remaingin class is o.a.d.client.am.LogicalConnection, which might require a factory implementation.

          jdbc40 suite passed without failures. Patch is ready for review/commit.

          Show
          Kristian Waagan added a comment - 'derby-1180-2a-client.diff' adds 10 more missing signatures for the client. VerifySignatures now reports 22 missing methods, but there are patches awaiting review/commit for many of these. The most prominent remaingin class is o.a.d.client.am.LogicalConnection, which might require a factory implementation. jdbc40 suite passed without failures. Patch is ready for review/commit.
          Hide
          Kristian Waagan added a comment -

          All the comments are valid, but since I am only adding placeholders that throw not implemented exceptions, I decided to not document the methods. In my opinion, this should be done when the methods are implemented for two reasons: the JavaDoc might have changed (JDBC 4 spec flexing) and there might be implementation specifc notes. The person implementing the methods must take a stand regarding the information duplication with regards to the interface.

          createBlob/-Clob where placed in the JDBC 4 specific class to make it easier to see that they are JDBC 4 methods. When they are implemented, they should be moved if appropriate. An exception to this, is the isClosed method of the Brokered* classes, where I placed it in the superclass to avoid having to add several vacuous implementations. Again, this will be handled when the method is actually implemented. If the methods cannot be in the "generic" class (non-JDBC 4 specifc) and there are no JDBC 4 specific class, I must create one to not break the build.

          Unless I get pushback on my approach, I will follow it for the Derby client side as well.

          Show
          Kristian Waagan added a comment - All the comments are valid, but since I am only adding placeholders that throw not implemented exceptions, I decided to not document the methods. In my opinion, this should be done when the methods are implemented for two reasons: the JavaDoc might have changed (JDBC 4 spec flexing) and there might be implementation specifc notes. The person implementing the methods must take a stand regarding the information duplication with regards to the interface. createBlob/-Clob where placed in the JDBC 4 specific class to make it easier to see that they are JDBC 4 methods. When they are implemented, they should be moved if appropriate. An exception to this, is the isClosed method of the Brokered* classes, where I placed it in the superclass to avoid having to add several vacuous implementations. Again, this will be handled when the method is actually implemented. If the methods cannot be in the "generic" class (non-JDBC 4 specifc) and there are no JDBC 4 specific class, I must create one to not break the build. Unless I get pushback on my approach, I will follow it for the Derby client side as well.
          Hide
          Dyre Tjeldvoll added a comment -

          I have looked at the patch, and I think it looks good, but I have a coule of observations:

          • EmbedBlob.getBinaryStream() seems very well documented, but free() in the same class is not.
          • In EmbedClob neither method is documented.
            I'm not convinced that it is all that important to document these implementations if the methods are well documented in the interface. At least I don't think there is much point in duplicating information found in the interface...
          • createBlob() and createClob() have been defined in BrokeredConnection40, but they are not java 1.5(6) specific, so couldn't they have been placed in BrokeredConnection instead? I don't think it really matters, but for other similar classes we have tried to keep as much as possible in the base class.
          Show
          Dyre Tjeldvoll added a comment - I have looked at the patch, and I think it looks good, but I have a coule of observations: EmbedBlob.getBinaryStream() seems very well documented, but free() in the same class is not. In EmbedClob neither method is documented. I'm not convinced that it is all that important to document these implementations if the methods are well documented in the interface. At least I don't think there is much point in duplicating information found in the interface... createBlob() and createClob() have been defined in BrokeredConnection40, but they are not java 1.5(6) specific, so couldn't they have been placed in BrokeredConnection instead? I don't think it really matters, but for other similar classes we have tried to keep as much as possible in the base class.
          Hide
          Knut Anders Hatlen added a comment -

          Committed revision 395872.

          I see 11 missing signatures when running jdbc4/VerifySignatures.junit, but that's probably because I'm running a newer version of Mustang. The build released yesterday introduced some new methods which are logged as DERBY-1235 and DERBY-1238.

          Show
          Knut Anders Hatlen added a comment - Committed revision 395872. I see 11 missing signatures when running jdbc4/VerifySignatures.junit, but that's probably because I'm running a newer version of Mustang. The build released yesterday introduced some new methods which are logged as DERBY-1235 and DERBY-1238 .
          Hide
          Kristian Waagan added a comment -

          Partial patch 'derby-1180-1a-embedded.diff' available.

          Show
          Kristian Waagan added a comment - Partial patch 'derby-1180-1a-embedded.diff' available.
          Hide
          Kristian Waagan added a comment -

          'derby-1180-1a-embedded.diff' addresses missing JDBC4 signatures on the embedded side. There are still 3 missing signatures reported by jdbc4/VerifySignatures.junit, but these will go away when another bug is fixed (don't know Jira number).

          Tests have been written for most of the methods added, except for the Clob/Blob methods and the Brokered* classes. All tests will be submitted with the patch for the network client side. The tests I do have run cleanly, and since all these methods throw not implemented, I think it is okay to commit this patch before the tests are in place. Adding the tests now will cause errors when running with DerbyNetClient.

          Rick's patches ('bug1180_embeddedStarter.diff' and 'bug1180_1.diff') have either been incorporated into this patch or is committed elsewhere (DERBY-940?). There are no tests for the getParameterMetaData-methods, so I created DERBY-1242 to track this.

          Suite jdbc40 ran without failures.

          Patch ready for review/commit.

          Show
          Kristian Waagan added a comment - 'derby-1180-1a-embedded.diff' addresses missing JDBC4 signatures on the embedded side. There are still 3 missing signatures reported by jdbc4/VerifySignatures.junit, but these will go away when another bug is fixed (don't know Jira number). Tests have been written for most of the methods added, except for the Clob/Blob methods and the Brokered* classes. All tests will be submitted with the patch for the network client side. The tests I do have run cleanly, and since all these methods throw not implemented, I think it is okay to commit this patch before the tests are in place. Adding the tests now will cause errors when running with DerbyNetClient. Rick's patches ('bug1180_embeddedStarter.diff' and 'bug1180_1.diff') have either been incorporated into this patch or is committed elsewhere ( DERBY-940 ?). There are no tests for the getParameterMetaData-methods, so I created DERBY-1242 to track this. Suite jdbc40 ran without failures. Patch ready for review/commit.
          Hide
          Rick Hillegas added a comment -

          I have attached patch bug1180_1.diff. This makes two changes which reduce the number of problems disclosed by VerifySignatures:

          1) Fixes the embedded JDBC4 PreparedStatement and CallableStatement to return the JDBC4 version of ParameterMetaData. Previously, the JDBC3 version was being returned.

          2) Fixes the signature of BrokeredConnection40.createQueryObject() to conform to the latest shape.

          Show
          Rick Hillegas added a comment - I have attached patch bug1180_1.diff. This makes two changes which reduce the number of problems disclosed by VerifySignatures: 1) Fixes the embedded JDBC4 PreparedStatement and CallableStatement to return the JDBC4 version of ParameterMetaData. Previously, the JDBC3 version was being returned. 2) Fixes the signature of BrokeredConnection40.createQueryObject() to conform to the latest shape.
          Hide
          Rick Hillegas added a comment -

          Once these vacuous husks are added, we can wire VerifySignatures into the jdbc40 test suite.

          Show
          Rick Hillegas added a comment - Once these vacuous husks are added, we can wire VerifySignatures into the jdbc40 test suite.
          Hide
          Rick Hillegas added a comment -

          I've attached a preliminary bit of work: bug1180_embeddedStarter.diff. This adds vacuous implementations for some of the missing embedded methods. Most of these are implementations of the Wrapper interface and they follow the new signatures for those methods which appeared in mustang build 78. Contents of this starter kit are:

          M java\engine\org\apache\derby\impl\jdbc\EmbedDatabaseMetaData40.java
          M java\engine\org\apache\derby\impl\jdbc\EmbedClob.java
          M java\engine\org\apache\derby\impl\jdbc\EmbedCallableStatement40.java
          M java\engine\org\apache\derby\impl\jdbc\EmbedPreparedStatement40.java
          M java\engine\org\apache\derby\impl\jdbc\EmbedConnection40.java
          M java\engine\org\apache\derby\impl\jdbc\EmbedResultSet40.java
          M java\engine\org\apache\derby\jdbc\EmbeddedDataSource40.java

          Show
          Rick Hillegas added a comment - I've attached a preliminary bit of work: bug1180_embeddedStarter.diff. This adds vacuous implementations for some of the missing embedded methods. Most of these are implementations of the Wrapper interface and they follow the new signatures for those methods which appeared in mustang build 78. Contents of this starter kit are: M java\engine\org\apache\derby\impl\jdbc\EmbedDatabaseMetaData40.java M java\engine\org\apache\derby\impl\jdbc\EmbedClob.java M java\engine\org\apache\derby\impl\jdbc\EmbedCallableStatement40.java M java\engine\org\apache\derby\impl\jdbc\EmbedPreparedStatement40.java M java\engine\org\apache\derby\impl\jdbc\EmbedConnection40.java M java\engine\org\apache\derby\impl\jdbc\EmbedResultSet40.java M java\engine\org\apache\derby\jdbc\EmbeddedDataSource40.java
          Hide
          Rick Hillegas added a comment -

          These are the methods exposed by the VerifySignature test checked in with DERBY-1146.

          Show
          Rick Hillegas added a comment - These are the methods exposed by the VerifySignature test checked in with DERBY-1146 .

            People

            • Assignee:
              Kristian Waagan
              Reporter:
              Rick Hillegas
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development