Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-31231

Remove JavaWrappers.jar from mariadb-test-data and create new mariadb-plugin-connect-jdbc package

    XMLWordPrintable

Details

    Description

      • JavaWrappers.jar is huge file consisting of precompiled binaries with external modules. We should build only library needed for interfacing the external modules and store in new package mariadb-plugin-connect-jdbc.
      • This MDEV should implement:
        • Remove JavaWrappers.jar from source .
        • From all files only JdbcInterface should be compiled and part of new package mariadb-plugin-connect-jdbc. For now leave other *Interface.java files (later I think may be removed).
        • Remove JDBCMariaDB.jar from source.
        • It will decrease source code by ~6[MB] .
      • Connect SE has JavaWrappers.jar file that consists of compiled byte code with interfaces that is compiled in the source code as well as shipped with mariadb-test-data package.

        $ jar tf /usr/share/mysql/mysql-test/plugin/connect/connect/std_data/JavaWrappers.jar|grep class
        wrappers/PostgresqlInterface.class
        wrappers/OracleInterface.class
        wrappers/ApacheInterface.class
        wrappers/Client.class
        wrappers/JdbcInterface.class
        wrappers/MysqlInterface.class
        wrappers/MariadbInterface.class
        

        Only JdbcInterface is used (I think, more tests are needed for this claim?) to have proper JDBC interface.

      • Besides that there is pre-compiled JdbcMariaDB.jar that has internally pre-compiled MariaDB Connector J, Oracle connector, etc.

        $ jar tf /usr/share/mysql/mysql-test/plugin/connect/connect/std_data/JdbcMariaDB.jar
        META-INF/
        META-INF/MANIFEST.MF
        META-INF/FILETEST.DSA
        META-INF/INDEX.LIST
        META-INF/LICENSE.txt
        META-INF/NOTICE.txt
        META-INF/maven/
        META-INF/maven/commons-logging/
        META-INF/maven/commons-logging/commons-logging/
        META-INF/maven/commons-logging/commons-logging/pom.properties
        META-INF/maven/commons-logging/commons-logging/pom.xml
        META-INF/maven/org.apache.commons/
        META-INF/maven/org.apache.commons/commons-dbcp2/
        META-INF/maven/org.apache.commons/commons-dbcp2/pom.properties
        META-INF/maven/org.apache.commons/commons-dbcp2/pom.xml
        META-INF/maven/org.apache.commons/commons-pool2/
        META-INF/maven/org.apache.commons/commons-pool2/pom.properties
        META-INF/maven/org.apache.commons/commons-pool2/pom.xml
        META-INF/maven/org.mariadb.jdbc/
        META-INF/maven/org.mariadb.jdbc/mariadb-java-client/
        META-INF/maven/org.mariadb.jdbc/mariadb-java-client/pom.properties
        META-INF/maven/org.mariadb.jdbc/mariadb-java-client/pom.xml
        META-INF/maven/org.postgresql/
        META-INF/maven/org.postgresql/postgresql/
        META-INF/maven/org.postgresql/postgresql/pom.properties
        META-INF/maven/org.postgresql/postgresql/pom.xml
        com/
        com/mysql/
        com/mysql/cj/
        oracle/
        oracle/core/
        oracle/core/lmx/
        oracle/core/lmx/CoreException.class
        oracle/core/lmx/LmxRepConversion.class
        oracle/core/lvf/
        oracle/core/lvf/VersionMgr.class
        oracle/jdbc/
        oracle/jpub
        oracle/net
        oracle/security
        oracle/sql
        org/apache/
        org/mariadb/jdbc
        org/postgresql
        ```
        org/slf4j
        wrappers/ApacheInterface.class
        wrappers/Client.class
        wrappers/HikariCPInterface.Copie
        wrappers/JdbcInterface.class
        wrappers/MariadbInterface.class
        wrappers/MysqlInterface.class
        wrappers/OracleInterface.class
        wrappers/PostgresqlInterface.class
        
        

        This file should also be removed and external packages should be installed when needed, like (libmariadb-java.

      • The similar logic applies to Mongo2.jar and Mongo3.jar that should be part of future re-design and appropriate testing.
      • As future work code re-design of JDBC may be desirable.

      Attachments

        Issue Links

          Activity

            People

              anel Anel Husakovic
              anel Anel Husakovic
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.