Compare commits
7 Commits
Author | SHA256 | Date | |
---|---|---|---|
259a3043fb | |||
87d93c3061 | |||
3656f9066f | |||
83e0221b7f | |||
df76e0bbed | |||
6e974ae5d3 | |||
4bc36d5190 |
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:8d1593b6625b357dd4b46c17fb1661076f45dac7b0693b2d7693cc32fa3e3e5a
|
||||
size 1035070
|
3
3.5.0.tar.gz
Normal file
3
3.5.0.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:ab7660a754e6eb22871413cc4ce515eb0c3f3be95f7b868805909160256d1b4a
|
||||
size 577117
|
@@ -1,3 +1,79 @@
|
||||
-------------------------------------------------------------------
|
||||
Thu Mar 27 21:25:02 UTC 2025 - Fridrich Strba <fstrba@suse.com>
|
||||
|
||||
- Require modular java for building
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Oct 30 13:31:40 UTC 2024 - Fridrich Strba <fstrba@suse.com>
|
||||
|
||||
- Upgrade to version 3.5.0
|
||||
* Notable changes
|
||||
+ CONJ-1193 Parsec authentication implementation
|
||||
+ CONJ-1183 permit setting specific truststore
|
||||
* Bugs Fixed
|
||||
+ CONJ-1202 Session variable setting must be executed last
|
||||
+ CONJ-1201 incorrect default behavior for
|
||||
forceConnectionTimeZoneToSession
|
||||
+ CONJ-1200 Batch import fails with exception "Unknown command"
|
||||
+ CONJ-1199 option connectionCollation addition in order to
|
||||
force collation
|
||||
+ CONJ-1187 Use different exception type for connection timeouts
|
||||
- General comments on 3.x
|
||||
* This version is a total rewrite of java driver.
|
||||
+ complete rewrite, code clarification, reduced size (15%),
|
||||
more than 90% coverage tested.
|
||||
+ Encoding/decoding implementation are now registred by Codec,
|
||||
permitting codec registry implementation
|
||||
° example support of Geometry Object
|
||||
+ Permit authentication plugin restriction by option
|
||||
restrictedAuth
|
||||
+ Performance improvement:
|
||||
° Prepare and execution are now using pipelining when using
|
||||
option useServerPrepStmts
|
||||
° performance enhancement with MariaDB 10.6 server when using
|
||||
option useServerPrepStmts, skipping metadata (MDEV-19237)
|
||||
* correction:
|
||||
+ CONJ-864 includeThreadDumpInDeadlockExceptions always includes
|
||||
the thread dump, even when it is not a deadlock exception
|
||||
+ CONJ-858 Properties parameter that differ from string not
|
||||
taken in account
|
||||
* Easy logging:
|
||||
If using log4j, just enabled package "org.mariadb.jdbc" log.
|
||||
+ level ERROR will log connection error
|
||||
+ level WARNING will log query errors
|
||||
+ level DEBUG will log queries
|
||||
+ evel TRACE will log all exchanges with server.
|
||||
If not using log4j, console will be used.
|
||||
If really wanting to use JDK logger, System property
|
||||
"mariadb.logging.fallback" set to JDK will indicate to use
|
||||
common logging.
|
||||
* Failover
|
||||
Failover implementation now permit to redo transaction: when
|
||||
creating a transaction, all command will be cached, and can be
|
||||
replayed in case of failover.
|
||||
This functionality can be enabled using option
|
||||
transactionReplay.
|
||||
This is not enabled by default, because this required that
|
||||
application avoids using non-idempotent commands.
|
||||
example:
|
||||
START TRANSACTION;
|
||||
select next_val(hibernate_sequence);
|
||||
INSERT INTO myCar(id, name) VALUE (?, ?)
|
||||
//with parameters: 1, 'car1'
|
||||
INSERT INTO myCarDetail(id, carId, name) VALUE (?, ?, ?)
|
||||
//with parameters: 2, 1, 'detail1'
|
||||
INSERT INTO myCarDetail(id, carId, name) VALUE (?, ?, ?)
|
||||
//with parameters: 3, 2, 'detail2'
|
||||
COMMIT;
|
||||
* Allow setup of TCP_KEEPIDLE, TCP_KEEPCOUNT, TCP_KEEPINTERVAL
|
||||
+ Equivalent options are tcpKeepIdle, tcpKeepCount,
|
||||
tcpKeepInterval
|
||||
+ Since available only with java 11, setting this option with
|
||||
java < 11 will have no effect.
|
||||
- Modified patch:
|
||||
* remove_waffle-jna.patch
|
||||
+ rediff
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Feb 21 10:49:28 UTC 2024 - Gus Kenion <gus.kenion@suse.com>
|
||||
|
||||
|
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file for package mariadb-java-client
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -17,7 +17,7 @@
|
||||
|
||||
|
||||
Name: mariadb-java-client
|
||||
Version: 2.4.3
|
||||
Version: 3.5.0
|
||||
Release: 0
|
||||
Summary: Connects applications developed in Java to MariaDB and MySQL databases
|
||||
License: BSD-3-Clause AND LGPL-2.1-or-later
|
||||
@@ -25,12 +25,15 @@ URL: https://mariadb.com/kb/en/mariadb/about-mariadb-connector-j/
|
||||
Source0: https://github.com/MariaDB/mariadb-connector-j/archive/%{version}.tar.gz
|
||||
Patch0: remove_waffle-jna.patch
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: java-devel >= 9
|
||||
BuildRequires: maven-local
|
||||
BuildRequires: mvn(com.google.code.maven-replacer-plugin:replacer)
|
||||
BuildRequires: mvn(net.java.dev.jna:jna)
|
||||
BuildRequires: mvn(net.java.dev.jna:jna-platform)
|
||||
BuildRequires: mvn(org.apache.felix:maven-bundle-plugin)
|
||||
BuildRequires: mvn(org.codehaus.mojo:build-helper-maven-plugin)
|
||||
BuildRequires: mvn(org.osgi:osgi.cmpn)
|
||||
BuildRequires: mvn(org.osgi:osgi.core)
|
||||
BuildRequires: mvn(org.slf4j:slf4j-api)
|
||||
Requires: mariadb
|
||||
|
||||
@@ -48,86 +51,59 @@ This package contains the API documentation for %{name}.
|
||||
|
||||
%prep
|
||||
%setup -q -n mariadb-connector-j-%{version}
|
||||
|
||||
# convert files from dos to unix line encoding
|
||||
for file in README.md documentation/*.creole; do
|
||||
sed -i.orig 's|\r||g' $file
|
||||
touch -r $file.orig $file
|
||||
rm $file.orig
|
||||
done
|
||||
|
||||
# remove missing optional dependency waffle-jna
|
||||
%pom_remove_dep com.github.waffle:waffle-jna
|
||||
# also remove the file using the removed plugin
|
||||
rm -f src/main/java/org/mariadb/jdbc/internal/com/send/authentication/gssapi/WindowsNativeSspiAuthentication.java
|
||||
# patch the sources so that the missing file is not making trouble
|
||||
%patch -P 0 -p1
|
||||
|
||||
%pom_remove_dep com.github.waffle:waffle-jna
|
||||
%pom_remove_dep ch.qos.logback:logback-classic
|
||||
%pom_remove_dep software.amazon.awssdk:bom
|
||||
%pom_remove_dep software.amazon.awssdk:rds
|
||||
%pom_remove_dep org.junit:junit-bom
|
||||
%pom_remove_dep org.junit.jupiter:junit-jupiter-engine
|
||||
|
||||
# used in buildtime for generating OSGI metadata
|
||||
%pom_remove_plugin biz.aQute.bnd:bnd-maven-plugin
|
||||
|
||||
%pom_add_dep net.java.dev.jna:jna
|
||||
%pom_add_dep net.java.dev.jna:jna-platform
|
||||
|
||||
# make the slf4j dependency version-independent
|
||||
%pom_remove_dep org.slf4j:slf4j-api
|
||||
%pom_add_dep org.slf4j:slf4j-api
|
||||
|
||||
# use the latest OSGi implementation
|
||||
%pom_change_dep -r :org.osgi.core org.osgi:osgi.core
|
||||
%pom_change_dep -r :org.osgi.compendium org.osgi:osgi.cmpn
|
||||
|
||||
rm -r src/main/java/org/mariadb/jdbc/plugin/credential/aws
|
||||
|
||||
# removing dependencies and 'provides', which mariadb-java-client cannot process from module-info.java
|
||||
sed -i '/aws/d' src/main/java9/module-info.java
|
||||
sed -i '/waffle/d' src/main/java9/module-info.java
|
||||
|
||||
# removing missing dependencies form META-INF, so that the mariadb-java-client module would be valid
|
||||
sed -i '/aws/d' src/main/resources/META-INF/services/org.mariadb.jdbc.plugin.CredentialPlugin
|
||||
sed -i '/aws/d' src/test/resources/META-INF/services/org.mariadb.jdbc.plugin.CredentialPlugin
|
||||
rm -f src/main/java/org/mariadb/jdbc/plugin/authentication/addon/gssapi/WindowsNativeSspiAuthentication.java
|
||||
|
||||
%{mvn_file} org.mariadb.jdbc:%{name} %{name}
|
||||
%{mvn_alias} org.mariadb.jdbc:%{name} mariadb:mariadb-connector-java
|
||||
|
||||
%pom_remove_plugin org.jacoco:jacoco-maven-plugin
|
||||
%pom_remove_plugin org.apache.maven.plugins:maven-checkstyle-plugin
|
||||
%pom_remove_plugin org.apache.maven.plugins:maven-javadoc-plugin
|
||||
%pom_remove_plugin org.apache.maven.plugins:maven-source-plugin
|
||||
%pom_remove_plugin org.sonatype.plugins:nexus-staging-maven-plugin
|
||||
%pom_remove_plugin pl.project13.maven:git-commit-id-plugin
|
||||
%pom_remove_plugin -r :maven-gpg-plugin
|
||||
|
||||
# remove preconfigured OSGi manifest file and generate OSGi manifest file
|
||||
# with maven-bundle-plugin instead of using maven-jar-plugin
|
||||
rm src/main/resources/META-INF/MANIFEST.MF
|
||||
%pom_xpath_set "pom:packaging" bundle
|
||||
%pom_xpath_set "pom:build/pom:plugins/pom:plugin[pom:artifactId='maven-jar-plugin']/pom:configuration/pom:archive/pom:manifestFile" '${project.build.outputDirectory}/META-INF/MANIFEST.MF'
|
||||
%pom_xpath_remove "pom:build/pom:plugins/pom:plugin[pom:artifactId='maven-jar-plugin']/pom:configuration/pom:archive/pom:manifestEntries"
|
||||
|
||||
%pom_xpath_inject "pom:build/pom:plugins/pom:plugin[pom:artifactId='maven-jar-plugin']" '
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
<goal>test-jar</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>'
|
||||
|
||||
%pom_add_plugin org.apache.felix:maven-bundle-plugin:2.5.4 . '
|
||||
<extensions>true</extensions>
|
||||
<configuration>
|
||||
<instructions>
|
||||
<Bundle-SymbolicName>${project.groupId}</Bundle-SymbolicName>
|
||||
<Bundle-Name>MariaDB JDBC Client</Bundle-Name>
|
||||
<Bundle-Version>${project.version}.0</Bundle-Version>
|
||||
<Export-Package>org.mariadb.jdbc.*</Export-Package>
|
||||
<Import-Package>
|
||||
!com.sun.jna.*,
|
||||
javax.net;resolution:=optional,
|
||||
javax.net.ssl;resolution:=optional,
|
||||
javax.sql;resolution:=optional,
|
||||
javax.transaction.xa;resolution:=optional
|
||||
</Import-Package>
|
||||
</instructions>
|
||||
</configuration>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>bundle-manifest</id>
|
||||
<phase>process-classes</phase>
|
||||
<goals>
|
||||
<goal>manifest</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>'
|
||||
%pom_remove_plugin -r :maven-javadoc-plugin
|
||||
|
||||
%build
|
||||
# tests are skipped, while they require running application server
|
||||
%{mvn_build} -f -- \
|
||||
-Dproject.build.outputTimestamp=$(date -u -d @${SOURCE_DATE_EPOCH:-$(date +%%s)} +%%Y-%%m-%%dT%%H:%%M:%%SZ)
|
||||
%{mvn_build} -f -- -Dmaven.compiler.release=8
|
||||
|
||||
%install
|
||||
%mvn_install
|
||||
%fdupes -s %{buildroot}%{_javadocdir}
|
||||
|
||||
%files -f .mfiles
|
||||
%doc documentation/* README.md
|
||||
%doc README.md
|
||||
%license LICENSE
|
||||
|
||||
%files javadoc -f .mfiles-javadoc
|
||||
|
@@ -1,32 +1,42 @@
|
||||
diff --git a/src/main/java/org/mariadb/jdbc/internal/com/send/authentication/gssapi/GssUtility.java b/src/main/java/org/mariadb/jdbc/internal/com/send/authentication/gssapi/GssUtility.java
|
||||
index 15c61c85..7276e91e 100644
|
||||
--- a/src/main/java/org/mariadb/jdbc/internal/com/send/authentication/gssapi/GssUtility.java
|
||||
+++ b/src/main/java/org/mariadb/jdbc/internal/com/send/authentication/gssapi/GssUtility.java
|
||||
@@ -5,25 +5,12 @@ import com.sun.jna.Platform;
|
||||
Date: Thu, 6 May 2021 08:28:06 +0200
|
||||
Subject: [PATCH] remove waffle-jna
|
||||
|
||||
---
|
||||
.../authentication/addon/gssapi/GssUtility.java | 17 +----------------
|
||||
1 file changed, 1 insertion(+), 16 deletions(-)
|
||||
|
||||
diff --git a/src/main/java/org/mariadb/jdbc/plugin/authentication/addon/gssapi/GssUtility.java b/src/main/java/org/mariadb/jdbc/plugin/authentication/addon/gssapi/GssUtility.java
|
||||
index 5f050df..1801701 100644
|
||||
--- a/src/main/java/org/mariadb/jdbc/plugin/authentication/addon/gssapi/GssUtility.java
|
||||
+++ b/src/main/java/org/mariadb/jdbc/plugin/authentication/addon/gssapi/GssUtility.java
|
||||
@@ -9,26 +9,11 @@ import com.sun.jna.Platform;
|
||||
public class GssUtility {
|
||||
|
||||
/**
|
||||
- * Get authentication method according to classpath. Windows native authentication is using
|
||||
- * Waffle-jna.
|
||||
+ * Get authentication method according to classpath.
|
||||
+ *
|
||||
+ * Get authentication method according to classpath
|
||||
*
|
||||
* @return authentication method
|
||||
*/
|
||||
public static GssapiAuth getAuthenticationMethod() {
|
||||
- try {
|
||||
- //Waffle-jna has jna as dependency, so if not available on classpath, just use standard authentication
|
||||
- // Waffle-jna has jna as dependency, so if not available on classpath, just use standard
|
||||
- // authentication
|
||||
- if (Platform.isWindows()) {
|
||||
- try {
|
||||
- Class.forName("waffle.windows.auth.impl.WindowsAuthProviderImpl");
|
||||
- return new WindowsNativeSspiAuthentication();
|
||||
- } catch (ClassNotFoundException cle) {
|
||||
- //waffle not in the classpath
|
||||
- // waffle not in the classpath
|
||||
- }
|
||||
- }
|
||||
- } catch (Throwable cle) {
|
||||
- //jna jar's are not in classpath
|
||||
- // jna jar's are not in classpath
|
||||
- }
|
||||
return new StandardGssapiAuthentication();
|
||||
}
|
||||
|
||||
}
|
||||
--
|
||||
2.30.2
|
||||
|
||||
|
Reference in New Issue
Block a user