diff --git a/debian/control b/debian/control index ace61a35c26..cf2da136517 100644 --- a/debian/control +++ b/debian/control @@ -7,6 +7,7 @@ Build-Depends: bison, cracklib-runtime , debhelper (>= 10), dh-exec, + default-jdk, flex [amd64], gdb , libaio-dev [linux-any], @@ -957,12 +958,28 @@ Replaces: mariadb-connect-engine-10.0, mariadb-connect-engine-10.4, mariadb-server-10.0, mariadb-server-10.1 +Suggests: mariadb-plugin-connect-jdbc Description: Connect storage engine for MariaDB Connect engine supports a number of file formats (dbf, xml, txt, bin, etc), connections to ODBC tables and remote MySQL tables, as well as a number of other interesting features. This package contains the Connect plugin for MariaDB. +Package: mariadb-plugin-connect-jdbc +Architecture: any +Depends: default-jre-headless +Suggests: libmariadb-java, + libcsvjdbc-java, + libpostgresql-jdbc-java, + libpostgis-java, + libxerial-sqlite-jdbc-java +Enhances: mariadb-plugin-connect +Description: Connect storage engine JDBC interface for MariaDB server. + To connect to remote DBMS using Connect Storage Engine (SE) and JDBC driver, + there is need for JDBC interface byte code. + The JDBC driver for the remote DBMS connection is required. + This package contains the Connect SE plugin JDBC interface file for MariaDB server. + Package: mariadb-plugin-s3 Architecture: any Depends: libcurl4, diff --git a/debian/mariadb-plugin-connect-jdbc.install b/debian/mariadb-plugin-connect-jdbc.install new file mode 100644 index 00000000000..15146810979 --- /dev/null +++ b/debian/mariadb-plugin-connect-jdbc.install @@ -0,0 +1 @@ +usr/share/mariadb/JdbcInterface.jar \ No newline at end of file diff --git a/debian/not-installed b/debian/not-installed index 1cbeeade721..0542e3972ce 100644 --- a/debian/not-installed +++ b/debian/not-installed @@ -44,8 +44,6 @@ usr/share/man/man1/mysql_embedded.1 # Symlink to mariadb-embedded.1 which is int usr/share/man/man1/my_safe_process.1 usr/share/man/man1/mysql-stress-test.pl.1 usr/share/man/man1/mysql.server.1 -usr/share/mariadb/JavaWrappers.jar -usr/share/mariadb/JdbcInterface.jar usr/share/mariadb/Mongo2.jar usr/share/mariadb/Mongo3.jar usr/share/mariadb/binary-configure diff --git a/storage/connect/CMakeLists.txt b/storage/connect/CMakeLists.txt index 4816086f7c8..aa075163133 100644 --- a/storage/connect/CMakeLists.txt +++ b/storage/connect/CMakeLists.txt @@ -17,10 +17,10 @@ IF(WITHOUT_DYNAMIC_PLUGINS OR WITH_NONE OR ("${PLUGIN_CONNECT}" STREQUAL "NO")) RETURN() ENDIF() -SET(CPACK_RPM_connect-engine_PACKAGE_SUMMARY "Connect storage engine for MariaDB" PARENT_SCOPE) +SET(CPACK_RPM_connect-engine_PACKAGE_SUMMARY "Connect storage engine for MariaDB Server" PARENT_SCOPE) SET(CPACK_RPM_connect-engine_PACKAGE_DESCRIPTION "Connect engine supports a number of file formats (dbf, xml, txt, bin, etc), -connections to ODBC tables and remote MySQL tables, as well as a number of -other interesting features." PARENT_SCOPE) + connections to ODBC tables and remote MySQL tables, as well as a number of + other interesting features." PARENT_SCOPE) SET(CONNECT_PLUGIN_STATIC "connect") SET(CONNECT_PLUGIN_DYNAMIC "connect") @@ -286,8 +286,7 @@ IF(CONNECT_WITH_JDBC) jmgfam.h jmgoconn.h mongo.h tabjmg.h JdbcInterface.java ApacheInterface.java MariadbInterface.java MysqlInterface.java OracleInterface.java PostgresqlInterface.java - Mongo2Interface.java Mongo3Interface.java - mysql-test/connect/std_data/JavaWrappers.jar) + Mongo2Interface.java Mongo3Interface.java) add_definitions(-DJAVA_SUPPORT) ADD_FEATURE_INFO(CONNECT_JDBC "ON" "Support for JDBC in the CONNECT storage engine") IF(CONNECT_WITH_MONGO) @@ -405,7 +404,7 @@ MYSQL_ADD_PLUGIN(connect ${CONNECT_SOURCES} COMPONENT connect-engine RECOMPILE_FOR_EMBEDDED LINK_LIBRARIES ${ZLIB_LIBRARY} ${XML_LIBRARY} ${ICONV_LIBRARY} - ${ODBC_LIBRARY} ${JDBC_LIBRARY} ${MONGOC_LIBRARY} ${IPHLPAPI_LIBRARY} ${REST_LIBRARY}) + ${ODBC_LIBRARY} ${MONGOC_LIBRARY} ${IPHLPAPI_LIBRARY} ${REST_LIBRARY}) IF(NOT TARGET connect) RETURN() @@ -444,11 +443,20 @@ IF(CONNECT_WITH_JDBC AND JAVA_FOUND AND JNI_FOUND) # TODO: Find how to compile and install the java wrapper classes # Find required libraries and include directories SET (JAVA_SOURCES JdbcInterface.java) - add_jar(JdbcInterface ${JAVA_SOURCES}) + add_jar(JdbcInterface ${JAVA_SOURCES} OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR}/connect_jars) + get_target_property(_jarFile JdbcInterface JAR_FILE) INSTALL(FILES - ${CMAKE_CURRENT_SOURCE_DIR}/mysql-test/connect/std_data/JavaWrappers.jar - ${CMAKE_CURRENT_BINARY_DIR}/JdbcInterface.jar - DESTINATION ${INSTALL_MYSQLSHAREDIR} COMPONENT connect-engine) + ${_jarFile} DESTINATION ${INSTALL_MYSQLSHAREDIR} COMPONENT connect-engine-jdbc) + SET(CPACK_COMPONENTS_ALL ${CPACK_COMPONENTS_ALL} connect-engine-jdbc PARENT_SCOPE) + SET(CPACK_RPM_connect-engine-jdbc_PACKAGE_RECOMMENDS "MariaDB-connect-engine, mariadb-java-client, postgresql-jdbc, mysql-connector-java" PARENT_SCOPE) + SET(CPACK_RPM_connect-engine-jdbc_PACKAGE_SUMMARY "Connect storage engine JDBC interface" PARENT_SCOPE) + SET(CPACK_RPM_connect-engine-jdbc_PACKAGE_DESCRIPTION "Connect storage engine JDBC interface + used to interact with external DBMS via Java connector" PARENT_SCOPE) + IF (RPM) + # Add file to populate CPACK_RPM_BUILDREQUIRES + FIND_FILE(Libjni_h jni.h PATHS ${JAVA_INCLUDE_PATH}) + SET(CPACK_RPM_connect-engine-jdbc_PACKAGE_REQUIRES "jre-headless >= 1.8" PARENT_SCOPE) + ENDIF() IF(CONNECT_WITH_MONGO) INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/mysql-test/connect/std_data/Mongo2.jar diff --git a/storage/connect/javaconn.cpp b/storage/connect/javaconn.cpp index efde2e86330..94e249c2ad6 100644 --- a/storage/connect/javaconn.cpp +++ b/storage/connect/javaconn.cpp @@ -407,10 +407,9 @@ bool JAVAConn::Open(PGLOBAL g) jpop->Append(ClassPath); } // endif ClassPath - // All wrappers are pre-compiled in JavaWrappers.jar in the share dir jpop->Append(sep); jpop->Append(GetMessageDir()); - jpop->Append("JavaWrappers.jar"); + jpop->Append("JdbcInterface.jar"); #if defined(MONGO_SUPPORT) jpop->Append(sep); diff --git a/storage/connect/mysql-test/connect/std_data/JavaWrappers.jar b/storage/connect/mysql-test/connect/std_data/JavaWrappers.jar deleted file mode 100644 index 33b29e7685b..00000000000 Binary files a/storage/connect/mysql-test/connect/std_data/JavaWrappers.jar and /dev/null differ diff --git a/storage/connect/mysql-test/connect/std_data/JdbcMariaDB.jar b/storage/connect/mysql-test/connect/std_data/JdbcMariaDB.jar deleted file mode 100644 index 8525da74018..00000000000 Binary files a/storage/connect/mysql-test/connect/std_data/JdbcMariaDB.jar and /dev/null differ