diff --git a/javac-check.patch b/javac-check.patch index c413efc..89432f5 100644 --- a/javac-check.patch +++ b/javac-check.patch @@ -1,11 +1,9 @@ Description: Disable the JDK check Author: Emmanuel Bourg Forwarded: not-needed -Index: mysql-connector-j-8.0.31/build.xml -=================================================================== ---- mysql-connector-j-8.0.31.orig/build.xml -+++ mysql-connector-j-8.0.31/build.xml -@@ -405,7 +405,7 @@ See also com.mysql.cj.conf.PropertyDefin +--- a/build.xml ++++ b/build.xml +@@ -400,7 +400,7 @@ See also com.mysql.cj.conf.PropertyDefin diff --git a/mysql-connector-java-8.2.0.tar.gz b/mysql-connector-java-8.2.0.tar.gz deleted file mode 100644 index d4b8c46..0000000 --- a/mysql-connector-java-8.2.0.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8c56456c13a32c92f633214de8f54757ae1b222ac5569fe63f7959fa195276ed -size 1902017 diff --git a/mysql-connector-java-9.2.0.tar.gz b/mysql-connector-java-9.2.0.tar.gz new file mode 100644 index 0000000..4eb6685 --- /dev/null +++ b/mysql-connector-java-9.2.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b63aa5991ee9bce9388458d4656145da361581f226d43e5101d8934cc79f87fa +size 2066548 diff --git a/mysql-connector-java-generated-for-protobuf-3.9.2.tar.xz b/mysql-connector-java-generated-for-protobuf-3.9.2.tar.xz deleted file mode 100644 index 19be258..0000000 --- a/mysql-connector-java-generated-for-protobuf-3.9.2.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:78985b13a5a3783d07059493de8a8b324a0501914ca62c6e0ddb19a8f570c075 -size 113808 diff --git a/mysql-connector-java-remove-oci-support.patch b/mysql-connector-java-remove-oci-support.patch index 4fe9ae6..2e32f52 100644 --- a/mysql-connector-java-remove-oci-support.patch +++ b/mysql-connector-java-remove-oci-support.patch @@ -1,30 +1,26 @@ -Index: mysql-connector-j-8.2.0/src/main/protocol-impl/java/com/mysql/cj/protocol/a/NativeAuthenticationProvider.java -=================================================================== ---- mysql-connector-j-8.2.0.orig/src/main/protocol-impl/java/com/mysql/cj/protocol/a/NativeAuthenticationProvider.java -+++ mysql-connector-j-8.2.0/src/main/protocol-impl/java/com/mysql/cj/protocol/a/NativeAuthenticationProvider.java -@@ -58,7 +58,6 @@ import com.mysql.cj.protocol.a.NativeCon - import com.mysql.cj.protocol.a.authentication.AuthenticationFidoClient; +--- a/src/main/protocol-impl/java/com/mysql/cj/protocol/a/NativeAuthenticationProvider.java ++++ b/src/main/protocol-impl/java/com/mysql/cj/protocol/a/NativeAuthenticationProvider.java +@@ -48,7 +48,6 @@ import com.mysql.cj.protocol.a.NativeCon + import com.mysql.cj.protocol.a.NativeConstants.StringSelfDataType; import com.mysql.cj.protocol.a.authentication.AuthenticationKerberosClient; import com.mysql.cj.protocol.a.authentication.AuthenticationLdapSaslClientPlugin; -import com.mysql.cj.protocol.a.authentication.AuthenticationOciClient; + import com.mysql.cj.protocol.a.authentication.AuthenticationOpenidConnectClient; import com.mysql.cj.protocol.a.authentication.AuthenticationWebAuthnClient; import com.mysql.cj.protocol.a.authentication.CachingSha2PasswordPlugin; - import com.mysql.cj.protocol.a.authentication.MysqlClearPasswordPlugin; -@@ -259,7 +258,6 @@ public class NativeAuthenticationProvide +@@ -249,7 +248,6 @@ public class NativeAuthenticationProvide pluginsToInit.add(new MysqlOldPasswordPlugin()); pluginsToInit.add(new AuthenticationLdapSaslClientPlugin()); pluginsToInit.add(new AuthenticationKerberosClient()); - pluginsToInit.add(new AuthenticationOciClient()); - pluginsToInit.add(new AuthenticationFidoClient()); pluginsToInit.add(new AuthenticationWebAuthnClient()); + pluginsToInit.add(new AuthenticationOpenidConnectClient()); -Index: mysql-connector-j-8.2.0/src/main/resources/com/mysql/cj/LocalizedErrorMessages.properties -=================================================================== ---- mysql-connector-j-8.2.0.orig/src/main/resources/com/mysql/cj/LocalizedErrorMessages.properties -+++ mysql-connector-j-8.2.0/src/main/resources/com/mysql/cj/LocalizedErrorMessages.properties -@@ -49,18 +49,6 @@ AuthenticationLdapSaslClientPlugin.Missi - AuthenticationLdapSaslClientPlugin.FailCreateSaslClient=Failed creating a SASL client for the authentication mechanism ''{0}''. - AuthenticationLdapSaslClientPlugin.ErrProcessingAuthIter=Error while processing an authentication iteration for the authentication mechanism ''{0}''. +--- a/src/main/resources/com/mysql/cj/LocalizedErrorMessages.properties ++++ b/src/main/resources/com/mysql/cj/LocalizedErrorMessages.properties +@@ -40,18 +40,6 @@ AuthenticationOpenidConnect.MissingIdTok + AuthenticationOpenidConnect.FailReadIdTokenFile=Failed reading the OpenID Identity Token file specified in the connection property ''idTokenFile''. + AuthenticationOpenidConnect.InvalidIdTokenFile=The file specified in the connection property ''idTokenFile'' contains an invalid OpenID Identity Token. -AuthenticationOciClientPlugin.ConfigFileNotFound=OCI configuration file not found. -AuthenticationOciClientPlugin.OciSdkNotFound=The OCI SDK cannot be found or it is not installed. @@ -38,6 +34,6 @@ Index: mysql-connector-j-8.2.0/src/main/resources/com/mysql/cj/LocalizedErrorMes -AuthenticationOciClientPlugin.SecurityTokenTooBig=Invalid security token file. File size above 10 KB. -AuthenticationOciClientPlugin.FailedReadingSecurityTokenFile=Failed reading the security token file referenced in the OCI configuration entry ''security_token_file''. - + AuthenticationProvider.BadAuthenticationPlugin=Unable to load authentication plugin ''{0}''. AuthenticationProvider.BadDefaultAuthenticationPlugin=Improper value "{0}" for property ''defaultAuthenticationPlugin''. AuthenticationProvider.DefaultAuthenticationPluginIsNotListed=Default authentication plugin "{0}" is neither one of the built-in plugins nor one of the plugins listed in ''authenticationPlugins''. - AuthenticationProvider.BadDisabledAuthenticationPlugin=Can''t disable the default authentication plugin. Either remove "{0}" from the disabled authentication plugins list, or choose a different default authentication plugin. diff --git a/mysql-connector-java-remove-opentelemetry-support.patch b/mysql-connector-java-remove-opentelemetry-support.patch new file mode 100644 index 0000000..8521f17 --- /dev/null +++ b/mysql-connector-java-remove-opentelemetry-support.patch @@ -0,0 +1,43 @@ +--- a/src/main/core-impl/java/com/mysql/cj/NativeSession.java ++++ b/src/main/core-impl/java/com/mysql/cj/NativeSession.java +@@ -40,7 +40,6 @@ import java.util.stream.Collectors; + import java.util.stream.Stream; + + import com.mysql.cj.conf.HostInfo; +-import com.mysql.cj.conf.PropertyDefinitions.OpenTelemetry; + import com.mysql.cj.conf.PropertyKey; + import com.mysql.cj.conf.PropertySet; + import com.mysql.cj.conf.RuntimeProperty; +@@ -54,7 +53,6 @@ import com.mysql.cj.exceptions.MysqlErro + import com.mysql.cj.exceptions.OperationCancelledException; + import com.mysql.cj.interceptors.QueryInterceptor; + import com.mysql.cj.log.Log; +-import com.mysql.cj.otel.OpenTelemetryHandler; + import com.mysql.cj.protocol.ColumnDefinition; + import com.mysql.cj.protocol.NetworkResources; + import com.mysql.cj.protocol.ProtocolEntityFactory; +@@ -110,24 +108,7 @@ public class NativeSession extends CoreS + + public NativeSession(HostInfo hostInfo, PropertySet propSet) { + super(hostInfo, propSet); +- +- // Check Telemetry option. +- RuntimeProperty openTelemetry = this.propertySet.getEnumProperty(PropertyKey.openTelemetry); +- if (openTelemetry.getValue() == OpenTelemetry.PREFERRED || openTelemetry.getValue() == OpenTelemetry.REQUIRED) { +- if (!OpenTelemetryHandler.isOpenTelemetryApiAvailable()) { +- if (openTelemetry.getValue() == OpenTelemetry.REQUIRED) { +- throw ExceptionFactory.createException(Messages.getString("Connection.OtelApiNotFound")); +- } +- if (openTelemetry.isExplicitlySet()) { +- getLog().logInfo(Messages.getString("Connection.OtelApiNotFound")); +- } + setTelemetryHandler(NoopTelemetryHandler.getInstance()); +- } else { +- setTelemetryHandler(new OpenTelemetryHandler()); +- } +- } else { +- setTelemetryHandler(NoopTelemetryHandler.getInstance()); +- } + } + + public void connect(HostInfo hi, String user, String password, String database, int loginTimeout, TransactionEventHandler transactionManager) diff --git a/mysql-connector-java.changes b/mysql-connector-java.changes index 03463cc..83b2247 100644 --- a/mysql-connector-java.changes +++ b/mysql-connector-java.changes @@ -1,3 +1,165 @@ +------------------------------------------------------------------- +Mon Jan 27 13:48:27 UTC 2025 - Gus Kenion + +- Upgrade to Version 9.2.0 + - Fix for Bug#116318 (Bug#37152533), useServerPrepStmts + useLocalTransactionState cause first execute rollback failure. + - Fix for Bug#116955 (Bug#37383012), Tests fail after server + changed cipher for xdevapi. + - Fix for Bug#63992 (Bug#14598872), getTables did not return a + result for table names with a dot in it. + - WL#16558, Upgrade 3rd party libraries and tools. + - Fix for Bug#37125271, RPM depends on java-headless 1:1.8.0 + which makes java8 unnessessarily be installed. + - Fix for Bug#115586 (Bug#36850047), When upgrading to mysql + connetor/j-8.4.0, creating a connection becomes too slow. + - Fix for Bug#116630 (Bug#37272802), Tests fail on Windows if + test database has upper/mixed case chars. + - Fix for Bug#71143 (Bug#17967091), Calling ResultSet.updateRow + should not set all field values in UPDATE. + - Fix for Bug#103437 (Bug#32807360), Syntax error when calling + PreparedStatement.getMetadata() with LIMIT placeholded. + - Fix for Bug#96786 (Bug#30280035), Retrieving streaming result + set fails when closeOnCompletion is enabled. + - Fix for Bug#21983318, QUERYTIMEOUT VALUE RESETTING TO 0 AFTER + PREPSTMT.EXECUTEBATCH() EXECUTION. + - Fix for Bug#116113 (Bug#37063728), DatabaseMetaData#getTables + doesn't work properly for delimited identifiers. + +------------------------------------------------------------------- +Mon Oct 21 12:20:07 UTC 2024 - Gus Kenion + +- Upgrade to Version 9.1.0 + * Fix for Bug#116114 (Bug#37067812), Connector/J is writing + incorrect values when passed negative dates. + * Fix for Bug#96623 (Bug#30221117), batch update with + rewriteBatchedStatements&useServerPrepStmts send fail request. + * Fix for Bug#114705 (Bug#36539680), Contribution: make + trustStorePassword be null if + this.trustStoreSettings.keyStorePassword is null. + * Fix for Bug#84117 (Bug#25247468), + includeThreadNamesAsStatementComment ignored when using + prepared statement. + * Fix for Bug#101054 (Bug#32544786), Batched Query > + maxAllowedPacket size causes an ArrayIndexOutOfBoundsException. + * Fix for Bug#108415 (Bug#34579258), NullPointerException in + AbstractQuery::stopQueryTimer. + * Fix for Bug#115265 (Bug#36843227), Second stored procedure call + with cacheCallableStmts might fail. + * Fix for Bug#36936407, PrepareCall method doesn't work as + expected when DB name is involved. + * WL#16490, OpenID Connect authentication support. + * Fix for Bug#112790 (Bug#35936477), Statement.getGeneratedKeys() + returns unexpected value. + * Fix for Bug#113509 (Bug#36154975), closeOnCompletion cause no + statement reuse and server memory leak. + * Fix for Bug#109418 (Bug#36043556), batch insert threw an + unexpected exception. + * Fix for Bug#114410 (Bug#36434816), Code performance issue. + * Fix for Bug#110586 (Bug#35254470), got unexpected result when + the data type was set to ZEROFILL. +- Includes changes from version 9.0.0 + * WL#16391, Upgrade 3rd party libraries and tools. + * Fix for Bug#114846 (Bug#36574322), Auto-closeable X dev session. + * Fix for Bug#114989 (Bug#36612566), Setting null value in + setClientInfo throws an NPE. + * WL#16376, Set 'caching_sha2_password' as default fallback + authentication plugin. + * WL#16342, Update MySQL error codes mapping. + * WL#16353, Refresh the list of acceptable TLS ciphers. + * Fix for Bug#114687 (Bug#36529541), Tests fail after + mysql_native_password has been made optional in server. + * WL#16319, Remove deprecated insensitive terminology based + methods. + * WL#16324, Update static MySQL keywords list. + * Fix for Bug#110512 (Bug#35223851), Contribution: Replace + synchronized with ReentrantLock. + * Fix for Bug#108830 (Bug#34721173), LIMIT clause, setMaxRows and + cursor combined returns wrong number or rows. +- Refactored mysql-connector-java-remove-oci-support.patch for + v9.1.0 +- Refactored + mysql-connector-java-remove-opentelemetry-support.patch for + v9.1.0 +- Refactored reproducible-build.patch for v9.1.0 + +------------------------------------------------------------------- +Sun Sep 29 19:50:16 UTC 2024 - Fridrich Strba + +- Fix build after removal of the default %%{java_home} define + +------------------------------------------------------------------- +Tue Aug 20 08:17:53 UTC 2024 - Fridrich Strba + +- Modified patch: + * mysql-connector-java-remove-opentelemetry-support.patch + + Use NoopTelemetryHandler inconditionally + + fixes bsc#1229150 + +------------------------------------------------------------------- +Mon May 27 10:09:41 UTC 2024 - Gus Kenion + +- Patch mysql-connector-java-remove-opentelemetry-support.patch + removes OpenTelemetry support, which was added upstream +- Refresh the following patches for updated codebase: + * javac-check.patch + * reproducible-build.patch + * mysql-connector-java-remove-oci-support.patch +- Update to 8.4.0 + * WL#16174, Support for VECTOR data type. + * Fix for Bug#36380711, Tests failing due to removal of + deprecated features. + * Fix for Bug#113600 (Bug#36171575), Contribution: Fix join + condition for retrieval of imported primary keys. Thanks to + Henning Pöttker for his contribution. + * WL#16196, GPL License Exception Update. + * Fix for Bug#111031 (Bug#35392222), Contribution: Update + SyntaxRegressionTest.java. Thanks to Abby Palmero for her + contribution. + * Fix for Bug#113599 (Bug#36171571), Contribution: Replace + StringBuffer with StringBuilder in ValueEncoders. Thanks to + Henning Pöttker for his contribution. + * Fix for Bug#91550 (Bug#28297874), DatabaseMetaData specifies + incorrect extra name characters. + * Fix for Bug#113129 (Bug#36043145), setting the FetchSize on a + Statement object does not affect. + * Fix for Bug#22931632, GETPARAMETERBINDINGS() ON A PS RETURNS + NPE WHEN NOT ALL PARAMETERS ARE BOUND. + * WL#16147, Remove support for FIDO authentication. + * Fix for Bug#110286 (Bug#35152855), Only call + Messages.getString(...) when it's needed (when the SQLException + is thrown). Thanks to Janick Reynders for his contribution. + * Fix for Bug#23143279, CLIENT HANG WHEN LOADBALANCESTRATEGY IS + BESTRESPONSETIME. +- Includes changes from 8.3.0 + * Fix for Bug#107107 (Bug#34101635), Redundant "Reset stmt" when + setting useServerPrepStmts&cachePrepStmts to true. Thanks to + Marcos Albe for his contribution. + * Fix for Bug#19845752, COMMENT PARSING IS NOT PROPER IN + CONNECTOR JDBC. + * Fix for Bug#112884 (Bug#36043166), Setting a large timeout + leads to errors when executing SQL. + * WL#16077, Upgrade 3rd party libraries and tools. + * WL#16074, Upgrade Protocol Buffers dependency to + protobuf*java-3.25.1. + * Fix for Bug#35929119, Issue with mysql-connector-j 8.0.33 + connector (XDEVAPI) - getsession is slow. + * Fix for Bug#111107 (Bug#36023972), + CallableStatement::getParameterMetaData reports incorrect + parameterCount. + * Fix for Bug#109546 (Bug#34958912), executeUpdate throws + SQLException on queries that are only comments. + * Fix for Bug#112195 (Bug#35749998), getWarnings() of + StatementImpl contains all warnings. + * Fix for Bug#111360 (Bug#35488208), Unexpected list of permitted ciphers. + * Fix for Bug#96582 (Bug#30222032), + jdbc.MysqlParameterMetadata#isNullable doesnt check whether to + be simple. + * Fix for Bug#95796 (Bug#29907618), Parameter metadata inferred + incorrectly when procedure or function doesn't exist. + * Fix for Bug#73774 (Bug#19531305), Can't execute a stored + procedure if exists function with same name. + ------------------------------------------------------------------- Wed Feb 21 21:41:53 UTC 2024 - Fridrich Strba diff --git a/mysql-connector-java.spec b/mysql-connector-java.spec index 3ff6927..6f572ec 100644 --- a/mysql-connector-java.spec +++ b/mysql-connector-java.spec @@ -1,7 +1,7 @@ # # spec file for package mysql-connector-java # -# 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 @@ -18,26 +18,20 @@ %define new_name mysql-connector-j Name: mysql-connector-java -Version: 8.2.0 +Version: 9.2.0 Release: 0 Summary: Official JDBC Driver for MySQL License: GPL-2.0-or-later Group: Development/Languages/Java URL: https://dev.mysql.com/downloads/connector/j/ Source0: https://github.com/mysql/mysql-connector-j/archive/refs/tags/%{version}.tar.gz#:/%{name}-%{version}.tar.gz -# NOTE: -# the following file contains the generated protobuf files with -# previous versions of protoc (protobuf) that are needed to build -# in previous SUSE distros. -# Source from: -# https://github.com/mysql/mysql-connector-j/commit/6976d9d779b498c254fc5cab5e69cfc74fc3e4f0 -Source1: mysql-connector-java-generated-for-protobuf-3.9.2.tar.xz Patch0: javac-check.patch # NOTE: Oracle OCI is not packaged yet # The patch doesn't remove the file AuthenticationOciClient.java # therefore it's removed during prep phase Patch1: %{name}-remove-oci-support.patch Patch2: reproducible-build.patch +Patch3: %{name}-remove-opentelemetry-support.patch BuildRequires: ant BuildRequires: ant-contrib BuildRequires: apache-commons-logging @@ -47,7 +41,8 @@ BuildRequires: java-devel >= 1.8 BuildRequires: javapackages-local >= 6 BuildRequires: javassist >= 3.28.0 BuildRequires: junit -BuildRequires: protobuf-java >= 3.9.2 +BuildRequires: protobuf-devel >= 26 +BuildRequires: protobuf-java >= 26 BuildRequires: slf4j BuildRequires: xz Requires: jta >= 1.0 @@ -82,26 +77,23 @@ set that supports the capabilities of MySQL. %patch -P 0 -p1 %patch -P 1 -p1 %patch -P 2 -p1 - -%if 0%{?suse_version} <= 1500 && 0%{?sle_version} <= 150200 -# ship protobuf generated files compatible with protobuf 3.9.2 -# which is the version we have in SLE15 SP2, the files were taken -# from commit 6976d9d779b498c254fc5cab5e69cfc74fc3e4f0, which is -# the last version compatible with that version of protobuf and -# are equivalent in functionality -tar -xvf %{SOURCE1} -C . -%endif +%patch -P 3 -p1 # remove OCI support rm -rf src/main/protocol-impl/java/com/mysql/cj/protocol/a/authentication/AuthenticationOciClient.java +# remove OpenTelemetry support +rm -rf src/main/core-impl/java/com/mysql/cj/otel/OpenTelemetryHandler.java +rm -rf src/main/core-impl/java/com/mysql/cj/otel/OpenTelemetrySpan.java +rm -rf src/main/core-impl/java/com/mysql/cj/otel/OpenTelemetryScope.java + # extra libs mkdir -p lib mkdir -p src/lib -ln -f -s %{_datadir}/java/ant/ant-contrib.jar lib/ant-contrib.jar -ln -f -s %{_datadir}/java/slf4j/api.jar lib/slf4j-api.jar -ln -s %{_datadir}/java/javassist.jar lib/javassist.jar -ln -s %{_datadir}/java/protobuf.jar lib/protobuf.jar +ln -f -s `find-jar ant/ant-contrib` lib/ant-contrib.jar +ln -f -s `find-jar slf4j/api` lib/slf4j-api.jar +ln -s `find-jar javassist` lib/javassist.jar +ln -s `find-jar protobuf` lib/protobuf.jar %build @@ -109,20 +101,19 @@ export CLASSPATH=$(build-classpath \ ant-contrib \ commons-logging \ slf4j \ - jdbc-stdext\ + jdbc-stdext \ jta \ junit \ reload4j \ protobuf) -%{ant} \ +ant \ -Dsnapshot.version= \ -Dcom.mysql.jdbc.extra.libs=lib \ -Dant.java.version=1.8 \ -Dant.build.javac.source=1.8 \ -Dant.build.javac.target=1.8 \ - -Dcom.mysql.cj.build.jdk=%{java_home} \ - -Dcom.mysql.cj.build.jdk.javac=%javac \ - -Dcom.mysql.cj.build.jdk.java=%java \ + -Dcom.mysql.cj.build.jdk.javac=javac \ + -Dcom.mysql.cj.build.jdk.java=java \ build %install @@ -138,7 +129,7 @@ install -d -m 755 %{buildroot}%{_mavenpomdir} # Install the Maven build information as new name %{mvn_install_pom} build/%{new_name}-%{version}-SNAPSHOT/pom.xml %{buildroot}%{_mavenpomdir}/JPP-%{new_name}.pom sed -i 's/-SNAPSHOT//' %{buildroot}%{_mavenpomdir}/JPP-%{new_name}.pom -%add_maven_depmap JPP-%{new_name}.pom %{new_name}.jar -a com.mysql:%{name} +%add_maven_depmap JPP-%{new_name}.pom %{new_name}.jar -a "com.mysql:%{name}","mysql:%{name}" %files -f .mfiles %{_javadir}/%{name}.jar diff --git a/reproducible-build.patch b/reproducible-build.patch index a8fddb5..f5019b3 100644 --- a/reproducible-build.patch +++ b/reproducible-build.patch @@ -1,6 +1,6 @@ ---- mysql-connector-j-8.1.0/src/main/core-api/java/com/mysql/cj/conf/PropertyDefinitions.java 2023-09-26 06:49:03.580772166 +0200 -+++ mysql-connector-j-8.1.0/src/main/core-api/java/com/mysql/cj/conf/PropertyDefinitions.java 2023-09-26 06:53:10.775563886 +0200 -@@ -30,7 +30,7 @@ +--- a/src/main/core-api/java/com/mysql/cj/conf/PropertyDefinitions.java ++++ b/src/main/core-api/java/com/mysql/cj/conf/PropertyDefinitions.java +@@ -21,7 +21,7 @@ package com.mysql.cj.conf; import java.util.Collections; @@ -9,7 +9,7 @@ import java.util.Map; import com.mysql.cj.Messages; -@@ -895,7 +895,7 @@ +@@ -899,7 +899,7 @@ public class PropertyDefinitions { // };