Details
-
Task
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
None
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 classwrappers/PostgresqlInterface.classwrappers/OracleInterface.classwrappers/ApacheInterface.classwrappers/Client.classwrappers/JdbcInterface.classwrappers/MysqlInterface.classwrappers/MariadbInterface.classOnly 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.jarMETA-INF/META-INF/MANIFEST.MFMETA-INF/FILETEST.DSAMETA-INF/INDEX.LISTMETA-INF/LICENSE.txtMETA-INF/NOTICE.txtMETA-INF/maven/META-INF/maven/commons-logging/META-INF/maven/commons-logging/commons-logging/META-INF/maven/commons-logging/commons-logging/pom.propertiesMETA-INF/maven/commons-logging/commons-logging/pom.xmlMETA-INF/maven/org.apache.commons/META-INF/maven/org.apache.commons/commons-dbcp2/META-INF/maven/org.apache.commons/commons-dbcp2/pom.propertiesMETA-INF/maven/org.apache.commons/commons-dbcp2/pom.xmlMETA-INF/maven/org.apache.commons/commons-pool2/META-INF/maven/org.apache.commons/commons-pool2/pom.propertiesMETA-INF/maven/org.apache.commons/commons-pool2/pom.xmlMETA-INF/maven/org.mariadb.jdbc/META-INF/maven/org.mariadb.jdbc/mariadb-java-client/META-INF/maven/org.mariadb.jdbc/mariadb-java-client/pom.propertiesMETA-INF/maven/org.mariadb.jdbc/mariadb-java-client/pom.xmlMETA-INF/maven/org.postgresql/META-INF/maven/org.postgresql/postgresql/META-INF/maven/org.postgresql/postgresql/pom.propertiesMETA-INF/maven/org.postgresql/postgresql/pom.xmlcom/com/mysql/com/mysql/cj/…oracle/oracle/core/oracle/core/lmx/oracle/core/lmx/CoreException.classoracle/core/lmx/LmxRepConversion.classoracle/core/lvf/oracle/core/lvf/VersionMgr.classoracle/jdbc/oracle/jpuboracle/netoracle/securityoracle/sql…org/apache/…org/mariadb/jdbc…org/postgresql```org/slf4j…wrappers/ApacheInterface.classwrappers/Client.classwrappers/HikariCPInterface.Copiewrappers/JdbcInterface.classwrappers/MariadbInterface.classwrappers/MysqlInterface.classwrappers/OracleInterface.classwrappers/PostgresqlInterface.classThis 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
- relates to
-
MDEV-10936 CONNECT engine JDBC type can't find JdbcInterface
-
- Closed
-
- links to