DBZ-7085 Add MariaDB and use it with MariaDB profile

This commit is contained in:
Chris Cranford 2023-11-02 10:01:05 -04:00 committed by Jiri Pechanec
parent 0f4d2f2b1a
commit b849effaf9
4 changed files with 37 additions and 0 deletions

View File

@ -200,6 +200,13 @@
<version>1.0.2</version> <version>1.0.2</version>
</dependency> </dependency>
<!-- MariaDB JDBC driver -->
<dependency>
<groupId>org.mariadb.jdbc</groupId>
<artifactId>mariadb-java-client</artifactId>
<version>${version.mariadb.driver}</version>
</dependency>
<!-- MongoDB Java driver --> <!-- MongoDB Java driver -->
<dependency> <dependency>
<groupId>org.mongodb</groupId> <groupId>org.mongodb</groupId>

View File

@ -57,6 +57,10 @@
</exclusion> </exclusion>
</exclusions> </exclusions>
</dependency> </dependency>
<dependency>
<groupId>org.mariadb.jdbc</groupId>
<artifactId>mariadb-java-client</artifactId>
</dependency>
<!-- Testing --> <!-- Testing -->
<dependency> <dependency>
@ -172,6 +176,8 @@
<mysql.init.timeout>60000</mysql.init.timeout> <!-- 60 seconds --> <mysql.init.timeout>60000</mysql.init.timeout> <!-- 60 seconds -->
<apicurio.port>8080</apicurio.port> <apicurio.port>8080</apicurio.port>
<apicurio.init.timeout>60000</apicurio.init.timeout> <!-- 60 seconds --> <apicurio.init.timeout>60000</apicurio.init.timeout> <!-- 60 seconds -->
<mysql.database.protocol>jdbc:mysql</mysql.database.protocol>
<mysql.database.jdbc.driver>com.mysql.cj.jdbc.Driver</mysql.database.jdbc.driver>
<!-- <!--
MariaDB specific MariaDB specific
--> -->
@ -541,6 +547,9 @@
<database.password>${mysql.password}</database.password> <database.password>${mysql.password}</database.password>
<database.replica.hostname>${docker.host.address}</database.replica.hostname> <database.replica.hostname>${docker.host.address}</database.replica.hostname>
<database.replica.port>${mysql.replica.port}</database.replica.port> <database.replica.port>${mysql.replica.port}</database.replica.port>
<!-- Specifies which driver to use for the tests -->
<database.protocol>${mysql.database.protocol}</database.protocol>
<database.jdbc.driver>${mysql.database.jdbc.driver}</database.jdbc.driver>
<skipLongRunningTests>${skipLongRunningTests}</skipLongRunningTests> <skipLongRunningTests>${skipLongRunningTests}</skipLongRunningTests>
<database.ssl.mode>disabled</database.ssl.mode> <database.ssl.mode>disabled</database.ssl.mode>
</systemPropertyVariables> </systemPropertyVariables>
@ -686,6 +695,9 @@
<database.port>${mysql.port}</database.port> <database.port>${mysql.port}</database.port>
<database.replica.port>${mysql.port}</database.replica.port> <database.replica.port>${mysql.port}</database.replica.port>
<database.ssl.mode>disabled</database.ssl.mode> <database.ssl.mode>disabled</database.ssl.mode>
<!-- Specifies which driver to use for the tests -->
<database.protocol>${mysql.database.protocol}</database.protocol>
<database.jdbc.driver>${mysql.database.jdbc.driver}</database.jdbc.driver>
<skipLongRunningTests>false</skipLongRunningTests> <skipLongRunningTests>false</skipLongRunningTests>
<isAssemblyProfileActive>true</isAssemblyProfileActive> <isAssemblyProfileActive>true</isAssemblyProfileActive>
</systemPropertyVariables> </systemPropertyVariables>
@ -703,6 +715,9 @@
<!-- same port for both, since we're only running one server --> <!-- same port for both, since we're only running one server -->
<database.port>${mysql.port}</database.port> <database.port>${mysql.port}</database.port>
<database.replica.port>${mysql.port}</database.replica.port> <database.replica.port>${mysql.port}</database.replica.port>
<!-- Specifies which driver to use for the tests -->
<database.protocol>${mysql.database.protocol}</database.protocol>
<database.jdbc.driver>${mysql.database.jdbc.driver}</database.jdbc.driver>
</systemPropertyVariables> </systemPropertyVariables>
</configuration> </configuration>
</execution> </execution>
@ -716,6 +731,9 @@
<systemPropertyVariables> <systemPropertyVariables>
<database.port>${mysql.gtid.port}</database.port> <database.port>${mysql.gtid.port}</database.port>
<database.replica.port>${mysql.gtid.replica.port}</database.replica.port> <database.replica.port>${mysql.gtid.replica.port}</database.replica.port>
<!-- Specifies which driver to use for the tests -->
<database.protocol>${mysql.database.protocol}</database.protocol>
<database.jdbc.driver>${mysql.database.jdbc.driver}</database.jdbc.driver>
</systemPropertyVariables> </systemPropertyVariables>
</configuration> </configuration>
</execution> </execution>
@ -749,6 +767,9 @@
<!-- same port for both, since we're only running one server --> <!-- same port for both, since we're only running one server -->
<database.port>${mysql.ssl.port}</database.port> <database.port>${mysql.ssl.port}</database.port>
<database.replica.port>${mysql.ssl.port}</database.replica.port> <database.replica.port>${mysql.ssl.port}</database.replica.port>
<!-- Specifies which driver to use for the tests -->
<database.protocol>${mysql.database.protocol}</database.protocol>
<database.jdbc.driver>${mysql.database.jdbc.driver}</database.jdbc.driver>
</systemPropertyVariables> </systemPropertyVariables>
</configuration> </configuration>
</execution> </execution>
@ -914,6 +935,8 @@
<docker.dbs>debezium/mysql-server-test-database</docker.dbs> <docker.dbs>debezium/mysql-server-test-database</docker.dbs>
<mysql.server.image.source>${mariadb.server.image.source}</mysql.server.image.source> <mysql.server.image.source>${mariadb.server.image.source}</mysql.server.image.source>
<version.mysql.server>${version.mariadb.server}</version.mysql.server> <version.mysql.server>${version.mariadb.server}</version.mysql.server>
<mysql.database.protocol>jdbc:mariadb</mysql.database.protocol>
<mysql.database.jdbc.driver>org.mariadb.jdbc.Driver</mysql.database.jdbc.driver>
</properties> </properties>
</profile> </profile>
<!-- Profile for MariaDB SQL support --> <!-- Profile for MariaDB SQL support -->
@ -926,6 +949,8 @@
<docker.dbs>debezium/mysql-server-test-database-ssl</docker.dbs> <docker.dbs>debezium/mysql-server-test-database-ssl</docker.dbs>
<mysql.server.image.source>${mariadb.server.image.source}</mysql.server.image.source> <mysql.server.image.source>${mariadb.server.image.source}</mysql.server.image.source>
<version.mysql.server>${version.mariadb.server}</version.mysql.server> <version.mysql.server>${version.mariadb.server}</version.mysql.server>
<mysql.database.protocol>jdbc:mariadb</mysql.database.protocol>
<mysql.database.jdbc.driver>org.mariadb.jdbc.Driver</mysql.database.jdbc.driver>
</properties> </properties>
</profile> </profile>
</profiles> </profiles>

View File

@ -193,6 +193,10 @@ public Configuration.Builder defaultJdbcConfigBuilder() {
Builder builder = Configuration.create() Builder builder = Configuration.create()
.with(MySqlConnectorConfig.HOSTNAME, System.getProperty("database.hostname", "localhost")) .with(MySqlConnectorConfig.HOSTNAME, System.getProperty("database.hostname", "localhost"))
.with(MySqlConnectorConfig.PORT, System.getProperty("database.port", "3306")) .with(MySqlConnectorConfig.PORT, System.getProperty("database.port", "3306"))
.with(MySqlConnectorConfig.JDBC_PROTOCOL, System.getProperty("database.protocol",
MySqlConnectorConfig.JDBC_PROTOCOL.defaultValueAsString()))
.with(MySqlConnectorConfig.JDBC_DRIVER, System.getProperty("database.jdbc.driver",
MySqlConnectorConfig.JDBC_DRIVER.defaultValueAsString()))
.with(MySqlConnectorConfig.USER, "snapper") .with(MySqlConnectorConfig.USER, "snapper")
.with(MySqlConnectorConfig.PASSWORD, "snapperpass"); .with(MySqlConnectorConfig.PASSWORD, "snapperpass");

View File

@ -132,6 +132,7 @@
<version.informix.changestream.client>1.1.3</version.informix.changestream.client> <version.informix.changestream.client>1.1.3</version.informix.changestream.client>
<version.informix.driver>4.50.10</version.informix.driver> <version.informix.driver>4.50.10</version.informix.driver>
<version.cassandra.driver>4.14.0</version.cassandra.driver> <version.cassandra.driver>4.14.0</version.cassandra.driver>
<version.mariadb.driver>3.2.0</version.mariadb.driver>
<!-- Databases, should align with database drivers --> <!-- Databases, should align with database drivers -->
<version.mysql.server>8.2</version.mysql.server> <version.mysql.server>8.2</version.mysql.server>