Uploaded image for project: 'Derby'
  1. Derby
  2. DERBY-7039

DataSource classes removed from derby.jar

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Won't Fix
    • 10.15.1.3
    • None
    • JDBC
    • None
    • Normal
    • Regression

    Description

      Between versions 10.14.X and 10.15.X the DataSource implementation classes under the org.apache.derby.jdbc package were removed from the derby.jar. It looks like the DataSource classes were moved to derbytools.jar, which has a dependency on the derbynetwork.jar: https://db.apache.org/derby/docs/10.15/publishedapi/org.apache.derby.tools/module-summary.html

      This makes it impossible to use just a Derby Embedded DataSource, without pulling in all of the Derby Network Client code too.

      It appears this change was made for the sake of modularity, since split packages are not allowed in JPMS modules, and the org.apache.derby.jdbc package contains DataSource classes for both Embedded and Network usage. I am not sure what the best way to untangle this dependency issue is, but ideally it can be done in a way that doesn't require dependencies on Derby Embedded and Network clients in order to use DataSource at all.

      One possible suggestion is to introduce new DataSource classes in new packages, such as:

      org.apache.derby.jdbc.embedded // for Embedded DataSource classes
      org.apache.derby.jdbc.network // for Network Client DataSources

      Then, gut out the DataSource classes in org.apache.derby.jdbc and have them extend from their respective embedded/network implementations. This will allow existing users to add more dependencies and leave their code unchanged, or it will allow users who just want to depend on Embedded or Network clients to update the DataSource class name.

       

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              aguibert Andy Guibert
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: