Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package mysql-connector-cpp for
openSUSE:Factory checked in at 2022-04-12 21:50:39
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/mysql-connector-cpp (Old)
and /work/SRC/openSUSE:Factory/.mysql-connector-cpp.new.1900 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "mysql-connector-cpp"
Tue Apr 12 21:50:39 2022 rev:32 rq:969377 version:8.0.28
Changes:
--------
--- /work/SRC/openSUSE:Factory/mysql-connector-cpp/mysql-connector-cpp.changes
2021-11-05 22:59:24.756312189 +0100
+++
/work/SRC/openSUSE:Factory/.mysql-connector-cpp.new.1900/mysql-connector-cpp.changes
2022-04-12 21:51:04.238459279 +0200
@@ -1,0 +2,9 @@
+Fri Apr 8 10:01:37 UTC 2022 - Mykola Krachkovsky <[email protected]>
+
+- Updated to version 8.0.28
+ * release notes:
+ https://dev.mysql.com/doc/relnotes/connector-cpp/en/news-8-0-28.html
+- Updated patch due to code changes
+ * modified mysql-connector-cpp-mariadb.patch
+
+-------------------------------------------------------------------
Old:
----
mysql-connector-c++-8.0.27-src.tar.gz
New:
----
mysql-connector-c++-8.0.28-src.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ mysql-connector-cpp.spec ++++++
--- /var/tmp/diff_new_pack.Dw4DKc/_old 2022-04-12 21:51:04.878452090 +0200
+++ /var/tmp/diff_new_pack.Dw4DKc/_new 2022-04-12 21:51:04.886452000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package mysql-connector-cpp
#
-# Copyright (c) 2021 SUSE LLC
+# Copyright (c) 2022 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -19,7 +19,7 @@
%define libname libmysqlcppconn9
%define x_libname libmysqlcppconn8-2
Name: mysql-connector-cpp
-Version: 8.0.27
+Version: 8.0.28
Release: 0
Summary: MySQL Connector/C++: Standardized database driver for C++
development
License: SUSE-GPL-2.0-with-FLOSS-exception
++++++ mysql-connector-c++-8.0.27-src.tar.gz ->
mysql-connector-c++-8.0.28-src.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/mysql-connector-c++-8.0.27-src/INFO_SRC
new/mysql-connector-c++-8.0.28-src/INFO_SRC
--- old/mysql-connector-c++-8.0.27-src/INFO_SRC 2021-09-24 07:32:52.000000000
+0200
+++ new/mysql-connector-c++-8.0.28-src/INFO_SRC 2021-11-17 16:18:43.000000000
+0100
@@ -1,7 +1,7 @@
MySQL Connector/C++ Sources Information
-version : 8.0.27
-branch : release/8.0.27
-commit : cf30171c211edbf82c06e329cc1a3fe60e00ad2e
-short : cf30171c
+version : 8.0.28
+branch : release/8.0.28
+commit : bbdd0dc2cb87217b8939535c90bc9b24c9e87466
+short : bbdd0dc2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/mysql-connector-c++-8.0.27-src/LICENSE.txt
new/mysql-connector-c++-8.0.28-src/LICENSE.txt
--- old/mysql-connector-c++-8.0.27-src/LICENSE.txt 2021-09-24
07:30:40.000000000 +0200
+++ new/mysql-connector-c++-8.0.28-src/LICENSE.txt 2021-11-17
16:03:52.000000000 +0100
@@ -10,7 +10,7 @@
third-party software which may be included in this distribution of
MySQL Connector/C++ 8.0.
- Last updated: July 2021
+ Last updated: November 2021
Licensing Information
@@ -428,6 +428,7 @@
Software with Other FOSS, and the constants, function signatures, data
structures and other invocation methods used to run or interact with
each of them (as to each, such software's "Interfaces"):
+
i. The Software's Interfaces may, to the extent permitted by the
license of the Other FOSS, be copied into, used and distributed in
the Other FOSS in order to enable interoperability, without
@@ -437,6 +438,7 @@
including without limitation as used in the Other FOSS (which upon
any such use also then contains a portion of the Software under the
Software License).
+
ii. The Other FOSS's Interfaces may, to the extent permitted by the
license of the Other FOSS, be copied into, used and distributed in
the Software in order to enable interoperability, without requiring
@@ -444,6 +446,7 @@
License or otherwise altering their original terms, if this does
not require any portion of the Software other than such Interfaces
to be licensed under the terms other than the Software License.
+
iii. If only Interfaces and no other code is copied between the
Software and the Other FOSS in either direction, the use and/or
distribution of the Software with the Other FOSS shall not be
@@ -477,6 +480,7 @@
Cyrus SASL
Cyrus SASL
+
* Copyright (c) 1994-2012 Carnegie Mellon University. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -1918,6 +1922,7 @@
the original SSLeay license, separate from the Oracle product. If you
do not wish to install this library, you may remove it, but the Oracle
program might not operate properly or at all without it.
+
LICENSE ISSUES
==============
@@ -2158,6 +2163,7 @@
ZSTD
Zstandard
+
Zstandard is dual-licensed under [BSD](LICENSE) and [GPLv2](COPYING).
/*
@@ -2563,6 +2569,7 @@
request to the address listed below or by sending an email to Oracle
using the following link:
http://www.oracle.com/goto/opensourcecode/request.
+
Oracle America, Inc.
Attn: Senior Vice President
Development and Engineering Legal
@@ -2570,20 +2577,30 @@
Redwood Shores, CA 94065
Your request should include:
+
* The name of the binary for which you are requesting the source code
+
* The name and version number of the Oracle product containing the
binary
+
* The date you received the Oracle product
+
* Your name
+
* Your company name (if applicable)
+
* Your return mailing address and email, and
+
* A telephone number in the event we need to reach you.
+
We may charge you a fee to cover the cost of physical media and
processing.
Your request must be sent
+
a. within three (3) years of the date you received the Oracle product
that included the binary that is the subject of your request, or
+
b. in the case of code licensed under the GPL v3 for as long as Oracle
offers spare parts or customer support for that product model.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/mysql-connector-c++-8.0.27-src/README.txt
new/mysql-connector-c++-8.0.28-src/README.txt
--- old/mysql-connector-c++-8.0.27-src/README.txt 2021-09-24
07:30:40.000000000 +0200
+++ new/mysql-connector-c++-8.0.28-src/README.txt 2021-11-17
16:03:52.000000000 +0100
@@ -1,4 +1,4 @@
-Copyright (c) 2008, 2021, Oracle and/or its affiliates.
+Copyright (c) 2008, 2022, Oracle and/or its affiliates.
This is a release of MySQL Connector/C++, the C++ interface for communicating
with MySQL servers.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/mysql-connector-c++-8.0.27-src/cdk/foundation/connection_openssl.cc
new/mysql-connector-c++-8.0.28-src/cdk/foundation/connection_openssl.cc
--- old/mysql-connector-c++-8.0.27-src/cdk/foundation/connection_openssl.cc
2021-09-24 07:30:40.000000000 +0200
+++ new/mysql-connector-c++-8.0.28-src/cdk/foundation/connection_openssl.cc
2021-11-17 16:03:52.000000000 +0100
@@ -79,8 +79,6 @@
// Note: this list must be in increasing order.
#define TLS_VERSIONS(X) \
- X("TLSv1", TLS1_VERSION, 1,0) \
- X("TLSv1.1", TLS1_1_VERSION, 1,1) \
X("TLSv1.2", TLS1_2_VERSION, 1,2) \
X("TLSv1.3", TLS1_3_VERSION, 1,3) \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/mysql-connector-c++-8.0.27-src/cdk/include/mysql/cdk/codec.h
new/mysql-connector-c++-8.0.28-src/cdk/include/mysql/cdk/codec.h
--- old/mysql-connector-c++-8.0.27-src/cdk/include/mysql/cdk/codec.h
2021-09-24 07:30:40.000000000 +0200
+++ new/mysql-connector-c++-8.0.28-src/cdk/include/mysql/cdk/codec.h
2021-11-17 16:03:52.000000000 +0100
@@ -67,7 +67,7 @@
{
public:
- enum Fmt { UINT, SINT };
+ enum Fmt { UINT, SINT, BIT };
Format(const Format_info &fi)
: Format_base(TYPE_INTEGER, fi)
@@ -76,7 +76,8 @@
fi.get_info(*this);
}
- bool is_unsigned() const { return UINT == m_fmt; }
+ bool is_bit() const { return BIT == m_fmt;}
+ bool is_unsigned() const { return UINT == m_fmt || BIT == m_fmt; }
size_t length() const { return m_length; }
protected:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/mysql-connector-c++-8.0.27-src/cdk/include/mysql/cdk/mysqlx/result.h
new/mysql-connector-c++-8.0.28-src/cdk/include/mysql/cdk/mysqlx/result.h
--- old/mysql-connector-c++-8.0.27-src/cdk/include/mysql/cdk/mysqlx/result.h
2021-09-24 07:30:40.000000000 +0200
+++ new/mysql-connector-c++-8.0.28-src/cdk/include/mysql/cdk/mysqlx/result.h
2021-11-17 16:03:52.000000000 +0100
@@ -155,6 +155,7 @@
{
switch (m_type)
{
+ case protocol::mysqlx::col_type::BIT:
case protocol::mysqlx::col_type::SINT:
case protocol::mysqlx::col_type::UINT:
return TYPE_INTEGER == type;
@@ -199,6 +200,9 @@
case protocol::mysqlx::col_type::UINT:
Format<TYPE_INTEGER>::Access::set_fmt(fmt, Format<TYPE_INTEGER>::UINT);
break;
+ case protocol::mysqlx::col_type::BIT:
+ Format<TYPE_INTEGER>::Access::set_fmt(fmt, Format<TYPE_INTEGER>::BIT);
+ break;
}
Format<TYPE_INTEGER>::Access::set_length(fmt, m_length);
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/mysql-connector-c++-8.0.27-src/cdk/mysqlx/result.cc
new/mysql-connector-c++-8.0.28-src/cdk/mysqlx/result.cc
--- old/mysql-connector-c++-8.0.27-src/cdk/mysqlx/result.cc 2021-09-24
07:30:40.000000000 +0200
+++ new/mysql-connector-c++-8.0.28-src/cdk/mysqlx/result.cc 2021-11-17
16:03:52.000000000 +0100
@@ -653,6 +653,7 @@
switch (md.m_type)
{
+ case col_type::BIT:
case col_type::SINT:
case col_type::UINT:
return TYPE_INTEGER;
@@ -680,7 +681,7 @@
return TYPE_STRING;
default:
- // TODO: correctly handle all X types (BIT)
+ // TODO: correctly handle all X types
return TYPE_BYTES;
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/mysql-connector-c++-8.0.27-src/common/session.cc
new/mysql-connector-c++-8.0.28-src/common/session.cc
--- old/mysql-connector-c++-8.0.27-src/common/session.cc 2021-09-24
07:30:40.000000000 +0200
+++ new/mysql-connector-c++-8.0.28-src/common/session.cc 2021-11-17
16:03:52.000000000 +0100
@@ -364,7 +364,12 @@
switch (opt_val.first)
{
case Option::TLS_VERSIONS:
+ try {
tls_opt.add_version(opt_val.second.get_string());
+ } catch (const cdk::Error&) {
+ //unexpected TLS versions are not errors. Only if no valid tls
version
+ //is available, an error will be thrown below.
+ }
break;
case Option::TLS_CIPHERSUITES:
tls_opt.add_ciphersuite(opt_val.second.get_string());
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/mysql-connector-c++-8.0.27-src/devapi/result.cc
new/mysql-connector-c++-8.0.28-src/devapi/result.cc
--- old/mysql-connector-c++-8.0.27-src/devapi/result.cc 2021-09-24
07:30:40.000000000 +0200
+++ new/mysql-connector-c++-8.0.28-src/devapi/result.cc 2021-11-17
16:03:52.000000000 +0100
@@ -115,6 +115,9 @@
const Format_descr<cdk::TYPE_INTEGER> &fd
= fmt.get<cdk::TYPE_INTEGER>();
+ if(fd.m_format.is_bit())
+ return Type::BIT;
+
size_t f_len = fd.m_format.length();
if (f_len < 5)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/mysql-connector-c++-8.0.27-src/devapi/session.cc
new/mysql-connector-c++-8.0.28-src/devapi/session.cc
--- old/mysql-connector-c++-8.0.27-src/devapi/session.cc 2021-09-24
07:30:40.000000000 +0200
+++ new/mysql-connector-c++-8.0.28-src/devapi/session.cc 2021-11-17
16:03:52.000000000 +0100
@@ -257,7 +257,7 @@
catch(const cdk::Error &e)
{
if (e.code() == cdk::cdkerrc::tls_versions)
- throw_error("No supported TLS protocol version found in the
'tls-versions' list");
+ throw_error("No valid TLS version was given, valid versions are:
TLSv1.2, TLSv1.3");
else if (e.code() == cdk::cdkerrc::tls_ciphers)
throw_error("No valid cipher suite found in the 'tls-ciphersuites'
list");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/mysql-connector-c++-8.0.27-src/devapi/tests/session-t.cc
new/mysql-connector-c++-8.0.28-src/devapi/tests/session-t.cc
--- old/mysql-connector-c++-8.0.27-src/devapi/tests/session-t.cc
2021-09-24 07:30:40.000000000 +0200
+++ new/mysql-connector-c++-8.0.28-src/devapi/tests/session-t.cc
2021-11-17 16:03:52.000000000 +0100
@@ -4123,3 +4123,59 @@
}
}
+
+TEST_F(Sess, tls_ver_deprecate)
+{
+ SKIP_IF_NO_XPLUGIN;
+
+ struct TEST_CASES
+ {
+ std::string tls_versions;
+ bool succeed;
+ };
+
+ bool has_tlsv1_3 = check_tls_ver("TLSv1.3");
+
+ TEST_CASES test_cases[] =
+ {
+ {"TLSv1.1,TLSv1.2" ,true },
+ {"foo,TLSv1.3" ,has_tlsv1_3 },
+ {"TLSv1.0,TLSv1.1" ,false },
+ {"foo,TLSv1.1" ,false },
+ {"foo,bar" ,false },
+ {"" ,false }
+ };
+
+ for(auto test : test_cases)
+ {
+
+ std::cout << "Testing:" << test.tls_versions << std::endl;
+
+ {
+ SessionSettings opt(SessionOption::HOST, get_host(),
+ SessionOption::PORT, get_port(),
+ SessionOption::USER, get_user(),
+ SessionOption::PWD, get_password(),
+ SessionOption::SSL_MODE, SSLMode::REQUIRED);
+ EXPECT_EQ(test.succeed, check_tls_ver(test.tls_versions.c_str()));
+ }
+ //URI
+ std::stringstream uri;
+ uri << get_uri() << "/?tls-versions=[" << test.tls_versions << "]";
+
+ if(test.succeed)
+ {
+ EXPECT_NO_THROW(mysqlx::Session(uri.str()));
+ }
+ else
+ {
+ try {
+ mysqlx::Session(uri.str());
+
+ } catch (const std::exception& e) {
+ EXPECT_EQ(std::string(e.what()), "No valid TLS version was given,
valid versions are: TLSv1.2, TLSv1.3");
+ }
+ }
+ }
+
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/mysql-connector-c++-8.0.27-src/devapi/tests/types-t.cc
new/mysql-connector-c++-8.0.28-src/devapi/tests/types-t.cc
--- old/mysql-connector-c++-8.0.27-src/devapi/tests/types-t.cc 2021-09-24
07:30:40.000000000 +0200
+++ new/mysql-connector-c++-8.0.28-src/devapi/tests/types-t.cc 2021-11-17
16:03:52.000000000 +0100
@@ -221,7 +221,8 @@
" c1 DECIMAL(4,2),"
" c2 FLOAT,"
" c3 DOUBLE,"
- " c4 VARCHAR(32)"
+ " c4 VARCHAR(32),"
+ " c5 BIT(64)"
")");
Table types = getSchema("test").getTable("types");
@@ -231,14 +232,15 @@
float data_float[] = { 3.1415F, -2.7182F };
double data_double[] = { 3.141592, -2.718281 };
string data_string[] = { "First row", "Second row" };
+ uint64_t data_bit[] = {0xFEDCBA9876543210,0x0123456789ABCDEF};
Row row(data_int[0], data_decimal[0], data_float[0], data_double[0],
- data_string[0]);
+ data_string[0], data_bit[0]);
types.insert()
.values(row)
.values(data_int[1], data_decimal[1], data_float[1], data_double[1],
- data_string[1])
+ data_string[1], data_bit[1])
.execute();
cout << "Table prepared, querying it..." << endl;
@@ -279,6 +281,13 @@
<< c4.getLength();
cout << ", collation: " << c4.getCollationName() << endl;
+ const Column &c5 = res.getColumn(5);
+ EXPECT_EQ(string("c5"), c5.getColumnName());
+ EXPECT_EQ(Type::BIT, c5.getType());
+ cout << "column " << res.getColumn(5) << " length: "
+ << c5.getLength();
+ EXPECT_EQ(64, c5.getLength());
+
for (unsigned i = 0; (row = res.fetchOne()); ++i)
{
cout << "== next row ==" << endl;
@@ -294,15 +303,50 @@
EXPECT_EQ(Value::FLOAT, row[2].getType());
EXPECT_EQ(Value::DOUBLE, row[3].getType());
EXPECT_EQ(Value::STRING, row[4].getType());
+ EXPECT_EQ(Value::UINT64, row[5].getType());
EXPECT_EQ(data_int[i], (int)row[0]);
EXPECT_EQ(data_decimal[i], (double)row[1]);
EXPECT_EQ(data_float[i], (float)row[2]);
EXPECT_EQ(data_double[i], (double)row[3]);
EXPECT_EQ(data_string[i], (string)row[4]);
+ EXPECT_EQ(data_bit[i], (uint64_t)row[5]);
EXPECT_GT(row[1].getRawBytes().size(), 1);
EXPECT_EQ(data_string[i].length(), string(row[4]).length());
+
+ }
+
+ cout << "Testing null value" << endl;
+
+ types.update()
+ .set("c0", nullvalue)
+ .set("c1", nullvalue)
+ .set("c2", nullvalue)
+ .set("c3", nullvalue)
+ .set("c4", nullvalue)
+ .set("c5", nullvalue)
+ .where("c0 = 7")
+ .execute();
+
+ types.update()
+ .set("c0", nullptr)
+ .set("c1", nullptr)
+ .set("c2", nullptr)
+ .set("c3", nullptr)
+ .set("c4", nullptr)
+ .set("c5", nullptr)
+ .where("c0 = -7")
+ .execute();
+
+ res = types.select().execute();
+ for(auto row : res)
+ {
+ EXPECT_TRUE(row);
+ for(unsigned i=0; i <res.getColumnCount(); ++i)
+ {
+ EXPECT_TRUE(row[i].isNull());
+ }
}
cout << "Testing Boolean value" << endl;
@@ -320,16 +364,6 @@
cout << "value: " << row[0] << endl;
EXPECT_FALSE((bool)row[0]);
- cout << "Testing null value" << endl;
-
- types.update().set("c0", nullvalue).set("c1", nullptr).execute();
- res = types.select("c0","c1").execute();
- row = res.fetchOne();
-
- EXPECT_TRUE(row);
- EXPECT_TRUE(row[0].isNull());
- EXPECT_TRUE(row[1].isNull());
-
cout << "Done!" << endl;
}
@@ -595,6 +629,99 @@
cout << "Data matches!" << endl;
}
+
+TEST_F(Types, bit)
+{
+ SKIP_IF_NO_XPLUGIN;
+
+ cout << "Preparing test.types..." << endl;
+
+ sql("DROP TABLE IF EXISTS test.types");
+ sql(
+ "CREATE TABLE test.types("
+ " c64 BIT(64),"
+ " c32 BIT(32),"
+ " c16 BIT(16),"
+ " c8 BIT( 8),"
+ " c1 BIT( 1)"
+ ")"
+ );
+
+ Table types = getSchema("test").getTable("types");
+
+
+ uint64_t data64 = std::numeric_limits<uint64_t>::max();
+ uint32_t data32 = std::numeric_limits<uint32_t>::max();
+ uint16_t data16 = std::numeric_limits<uint16_t>::max();
+ uint8_t data8 = std::numeric_limits<uint8_t>::max();
+ uint8_t data1 = 1;
+
+ types.insert().values(data64, data32, data16, data8, data1)
+ .values(nullptr, nullptr, nullptr,nullptr,nullptr).execute();
+
+ cout << "Table prepared, querying it..." << endl;
+
+ RowResult res = types.select().execute();
+
+ auto column_type = [&res](int idx)
+ {
+ const Column &c = res.getColumn(idx);
+ EXPECT_EQ(Type::BIT, c.getType());
+ };
+
+ column_type(0);
+ column_type(1);
+ column_type(2);
+ column_type(3);
+ column_type(4);
+
+ Row row = res.fetchOne();
+
+ cout << "Got a row, checking data..." << endl;
+
+
+ Value v64 = row[0];
+ Value v32 = row[1];
+ Value v16 = row[2];
+ Value v8 = row[3];
+ Value v1 = row[4];
+
+ EXPECT_EQ(Value::UINT64, v64.getType());
+ EXPECT_EQ(Value::UINT64, v32.getType());
+ EXPECT_EQ(Value::UINT64, v16.getType());
+ EXPECT_EQ(Value::UINT64, v8 .getType());
+ EXPECT_EQ(Value::UINT64, v1 .getType());
+
+
+ EXPECT_EQ(v64.get<uint64_t>(), data64);
+ EXPECT_EQ(v32.get<uint64_t>(), data32);
+ EXPECT_EQ(v16.get<uint64_t>(), data16);
+ EXPECT_EQ(v8 .get<uint64_t>(), data8 );
+ EXPECT_EQ(v1 .get<uint64_t>(), data1 );
+
+ EXPECT_EQ(v64.get<uint64_t>(), data64);
+ EXPECT_EQ(v32.get<uint64_t>(), data32);
+ EXPECT_EQ(v16.get<uint64_t>(), data16);
+ EXPECT_EQ(v8 .get<uint64_t>(), data8 );
+ EXPECT_EQ(v1 .get<uint64_t>(), data1 );
+
+ //second row
+ row = res.fetchOne();
+
+ v64 = row[0];
+ v32 = row[1];
+ v16 = row[2];
+ v8 = row[3];
+ v1 = row[4];
+
+ EXPECT_EQ(Value::VNULL, v64.getType());
+ EXPECT_EQ(Value::VNULL, v32.getType());
+ EXPECT_EQ(Value::VNULL, v16.getType());
+ EXPECT_EQ(Value::VNULL, v8 .getType());
+ EXPECT_EQ(Value::VNULL, v1 .getType());
+
+ cout << "Data matches!" << endl;
+}
TEST_F(Types, json)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/mysql-connector-c++-8.0.27-src/jdbc/driver/mysql_connection.cpp
new/mysql-connector-c++-8.0.28-src/jdbc/driver/mysql_connection.cpp
--- old/mysql-connector-c++-8.0.27-src/jdbc/driver/mysql_connection.cpp
2021-09-10 18:31:29.000000000 +0200
+++ new/mysql-connector-c++-8.0.28-src/jdbc/driver/mysql_connection.cpp
2021-10-09 09:23:31.000000000 +0200
@@ -301,7 +301,7 @@
{OPT_READ_DEFAULT_FILE, MYSQL_READ_DEFAULT_FILE, false},
{OPT_CHARSET_NAME, MYSQL_SET_CHARSET_NAME, true},
#if MYCPPCONN_STATIC_MYSQL_VERSION_ID >= 50700
- {OPT_TLS_VERSION, MYSQL_OPT_TLS_VERSION, false},
+ {OPT_TLS_VERSION, MYSQL_OPT_TLS_VERSION, true},
#endif
{OPT_LOAD_DATA_LOCAL_DIR, MYSQL_OPT_LOAD_DATA_LOCAL_DIR, false}
};
@@ -755,6 +755,23 @@
throw sql::InvalidArgumentException("No string value passed for
sslCipher");
}
ssl_used = true;
+ } else if (!it->first.compare(OPT_TLS_VERSION)) {
+ try {
+ p_s = (it->second).get< sql::SQLString >();
+ } catch (sql::InvalidArgumentException&) {
+ throw sql::InvalidArgumentException("Wrong type passed for
OPT_TLS_VERSION expected sql::SQLString");
+ }
+ if (p_s) {
+ try {
+ proxy->options(sql::mysql::MYSQL_OPT_TLS_VERSION, *p_s);
+ } catch (const sql::InvalidArgumentException&) {
+ //We will not throw error here, but wait for connection error
+ //libmysqlclient treats not valid TLS versions as invalid options.
+ }
+
+ } else {
+ throw sql::InvalidArgumentException("No string value passed for
OPT_TLS_VERSION");
+ }
} else if (!it->first.compare(OPT_DEFAULT_STMT_RESULT_TYPE)) {
try {
p_i = (it->second).get< int >();
@@ -1103,7 +1120,13 @@
" the password with mysql client that is capable to do
that,"
" or rebuild your instance of Connector/C++ against
mysql client"
" library that supports resetting of an expired
password.";
- } else {
+ } else if(native_error == CR_SSL_CONNECTION_ERROR){
+ error_message= proxy->error();
+ if(error_message.find("TLS version") != std::string::npos)
+ {
+ error_message+=", valid versions are: TLSv1.2, TLSv1.3";
+ }
+ }else {
error_message= proxy->error();
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/mysql-connector-c++-8.0.27-src/jdbc/test/unit/bugs/bugs.cpp
new/mysql-connector-c++-8.0.28-src/jdbc/test/unit/bugs/bugs.cpp
--- old/mysql-connector-c++-8.0.27-src/jdbc/test/unit/bugs/bugs.cpp
2021-09-10 18:31:29.000000000 +0200
+++ new/mysql-connector-c++-8.0.28-src/jdbc/test/unit/bugs/bugs.cpp
2021-10-09 09:23:31.000000000 +0200
@@ -1182,12 +1182,12 @@
logMsg("bugs::bug32695580");
sql::ConnectOptionsMap opt;
opt[OPT_HOSTNAME] = "127.0.0.1";
- opt[OPT_PORT] = 111;
+ opt[OPT_PORT] = 65000;
try {
Connection con2(getConnection(&opt));
} catch (const sql::SQLException &e) {
- ASSERT_EQUALS(2003,e.getErrorCode());
+ ASSERT_GT(2000,e.getErrorCode());
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/mysql-connector-c++-8.0.27-src/jdbc/test/unit/classes/connection.cpp
new/mysql-connector-c++-8.0.28-src/jdbc/test/unit/classes/connection.cpp
--- old/mysql-connector-c++-8.0.27-src/jdbc/test/unit/classes/connection.cpp
2021-09-10 18:31:29.000000000 +0200
+++ new/mysql-connector-c++-8.0.28-src/jdbc/test/unit/classes/connection.cpp
2021-10-09 09:23:31.000000000 +0200
@@ -2457,9 +2457,6 @@
{
logMsg("connection::connectAttr -
MYSQL_OPT_CONNECT_ATTR_ADD|MYSQL_OPT_CONNECT_ATTR_DELETE");
- //TODO: Enable it after fixing
- SKIP("Removed untill fixed");
-
int serverVersion=getMySQLVersion(con);
if ( serverVersion < 56006)
{
@@ -2628,11 +2625,11 @@
if (perf_conn_attr_size < 512) {
SKIP("The performance_schema_session_connect_attrs_size is less then
512");
} else if (perf_conn_attr_size >= 512 && perf_conn_attr_size < 1024) {
- max_count= 32;
+ max_count= 20;
} else if (perf_conn_attr_size >= 1024 && perf_conn_attr_size < 2048) {
- max_count= 64;
+ max_count= 50;
} else if (perf_conn_attr_size >= 2048) {
- max_count= 128;
+ max_count= 100;
}
try
@@ -2645,7 +2642,7 @@
for (i=1; i <= max_count; ++i) {
skey.str("");
- skey << "keymu" << i;
+ skey << "keymu" << std::setw(3) << std::setfill('0') << i;
connectAttrMap[skey.str()] = "value";
}
@@ -2659,12 +2656,12 @@
stmt.reset(conn2->createStatement());
res.reset(stmt->executeQuery("SELECT ATTR_NAME, ATTR_VALUE FROM "
"performance_schema.session_account_connect_attrs WHERE "
- "ATTR_NAME LIKE '%keymu%' ORDER BY SUBSTRING(ATTR_NAME, 6)+0
ASC;"));
+ "ATTR_NAME LIKE '%keymu%' ORDER BY SUBSTRING(ATTR_NAME, 6) ASC;"));
i=0;
while (res->next()) {
skey.str("");
- skey << "keymu" << ++i;
+ skey << "keymu" << std::setw(3) << std::setfill('0') << ++i;
ASSERT_EQUALS(res->getString("ATTR_NAME"), skey.str());
ASSERT_EQUALS(res->getString("ATTR_VALUE"), "value");
}
@@ -3078,7 +3075,7 @@
sql::SQLString orig_dir_path = load_data_path;
sql::SQLString dir_path = conn->getClientOption(OPT_LOAD_DATA_LOCAL_DIR);
- ASSERT_EQUALS(orig_dir_path, dir_path);
+ ASSERT( dir_path->find(orig_dir_path) != sql::SQLString::npos);
conn->setClientOption(OPT_LOAD_DATA_LOCAL_DIR, nullptr);
@@ -3239,19 +3236,25 @@
temp_dir = "/tmp/";
#endif
- dir = temp_dir + "test/";
+#ifndef _WIN32
+ std::string pid = std::to_string(getpid());
+#else
+ std::string pid = std::to_string(GetCurrentProcessId());
+#endif
+
+ dir = temp_dir + std::string("test")+pid+"/";
file_path = dir + "infile.txt";
dataDir dir_test(dir);
- dataDir dir_link(temp_dir + "test_link/");
- dataDir dir_subdir_link(temp_dir + "test_subdir_link/");
+ dataDir dir_link(temp_dir + "test_link" + pid +"/");
+ dataDir dir_subdir_link(temp_dir + "test_subdir_link" + pid + "/");
dataFile infile(dir, "infile.txt");
#ifndef _WIN32
- dataFile infile_wo("/tmp/test/", "infile_wo.txt", true);
- dataSymlink sl(file_path, temp_dir + "test_link/link_infile.txt");
- dataSymlink sld(dir, temp_dir + "test_subdir_link/subdir");
+ dataFile infile_wo(dir, "infile_wo.txt", true);
+ dataSymlink sl(file_path, temp_dir + "test_link"+ pid +
"/link_infile.txt");
+ dataSymlink sld(dir, temp_dir + "test_subdir_link"+ pid + "/subdir");
std::string sld_file = sld.path();
sld_file.append("/infile.txt");
#endif
@@ -3569,6 +3572,21 @@
connection_properties["OPT_SSL_MODE"] = sql::SSL_MODE_REQUIRED;
+ // Using ALL TLS version... should connect
+ connection_properties["OPT_TLS_VERSION"] = tls_available;
+
+ created_objects.clear();
+ try
+ {
+ con.reset(driver->connect(connection_properties));
+ }
+ catch (sql::SQLException &)
+ {
+ FAIL("ALL TLS available versions used and still can't connect!");
+ }
+
+
+
// Using wrong TLS version... should fail to connect
connection_properties["OPT_TLS_VERSION"] = sql::SQLString("TLSv999");
@@ -3584,6 +3602,8 @@
}
+
+
for (std::vector<std::string>::const_iterator version = tls_versions.begin();
version != tls_versions.end();
++version)
@@ -3877,6 +3897,60 @@
}
}
+}
+
+void connection::tls_deprecation()
+{
+ sql::ConnectOptionsMap opt;
+ opt[OPT_HOSTNAME]=url;
+ opt[OPT_USERNAME]=user;
+ opt[OPT_PASSWORD]=passwd;
+ opt[OPT_SSL_MODE]=sql::SSL_MODE_REQUIRED;
+
+ struct TEST_CASES
+ {
+ const std::string& tls_versions;
+ bool succeed;
+ };
+
+ TEST_CASES test_cases[] =
+ {
+ {"TLSv1.1,TLSv1.2" ,true },
+ {"foo,TLSv1.3" ,true },
+ {"TLSv1.0,TLSv1.1" ,false},
+ {"foo,TLSv1.1" ,false},
+ {"foo,bar" ,false},
+ {"" ,false}
+ };
+
+ for(auto test : test_cases)
+ {
+ logMsg(test.tls_versions);
+ opt[OPT_TLS_VERSION] = test.tls_versions;
+ try {
+ Connection test_connection(driver->connect(opt));
+ if(!test.succeed)
+ {
+ std::stringstream err;
+ err << "TLS versions (" << test.tls_versions << ") SHOULD THROW
EXCEPTION";
+ FAIL(err.str());
+ }
+ stmt.reset(test_connection->createStatement());
+ res.reset(stmt->executeQuery("select @@version"));
+
+ res->next();
+ std::string version = res->getString(1);
+
+ logMsg(std::string("Server Version ")+version);
+
+ } catch (sql::SQLException &e) {
+ logMsg(e.what());
+ ASSERT_EQUALS(false, test.succeed);
+ ASSERT_EQUALS(2026, e.getErrorCode());
+ ASSERT_EQUALS("SSL connection error: TLS version is invalid, valid
versions are: TLSv1.2, TLSv1.3", e.what());
+ }
+ }
+
}
} /* namespace connection */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/mysql-connector-c++-8.0.27-src/jdbc/test/unit/classes/connection.h
new/mysql-connector-c++-8.0.28-src/jdbc/test/unit/classes/connection.h
--- old/mysql-connector-c++-8.0.27-src/jdbc/test/unit/classes/connection.h
2021-09-10 18:31:29.000000000 +0200
+++ new/mysql-connector-c++-8.0.28-src/jdbc/test/unit/classes/connection.h
2021-10-09 09:23:31.000000000 +0200
@@ -92,6 +92,7 @@
TEST_CASE(socket);
TEST_CASE(dns_srv);
TEST_CASE(mfa);
+ TEST_CASE(tls_deprecation);
}
/**
@@ -290,6 +291,12 @@
*/
void mfa();
+ /*
+ * Test of MySQL_Connection::tls_deprecation()
+ *
+ */
+ void tls_deprecation();
+
};
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/mysql-connector-c++-8.0.27-src/jdbc/test/unit/classes/resultsetmetadata.cpp
new/mysql-connector-c++-8.0.28-src/jdbc/test/unit/classes/resultsetmetadata.cpp
---
old/mysql-connector-c++-8.0.27-src/jdbc/test/unit/classes/resultsetmetadata.cpp
2021-09-10 18:31:29.000000000 +0200
+++
new/mysql-connector-c++-8.0.28-src/jdbc/test/unit/classes/resultsetmetadata.cpp
2021-10-09 09:23:31.000000000 +0200
@@ -201,7 +201,8 @@
ASSERT_EQUALS((unsigned int) 1, meta->getColumnDisplaySize(2));
ASSERT_EQUALS((unsigned int) 5, meta->getColumnDisplaySize(3));
ASSERT_EQUALS((unsigned int) 1, meta->getColumnDisplaySize(4));
- ASSERT_EQUALS((unsigned int) 3, meta->getColumnDisplaySize(5));
+ // Integer now adds +1 for sign
+ ASSERT_EQUALS((unsigned int) 4, meta->getColumnDisplaySize(5));
try
{
@@ -1286,9 +1287,6 @@
{
logMsg("resultsetmetadata::isSigned() - MySQL_ResultSetMetaData::isSigned");
- //TODO: Enable it after fixing
- SKIP("Removed untill fixed");
-
std::stringstream sql;
std::vector<columndefinition>::iterator it;
ResultSetMetaData * meta_st;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/mysql-connector-c++-8.0.27-src/jdbc/test/unit/unit_fixture.cpp
new/mysql-connector-c++-8.0.28-src/jdbc/test/unit/unit_fixture.cpp
--- old/mysql-connector-c++-8.0.27-src/jdbc/test/unit/unit_fixture.cpp
2021-09-10 18:31:29.000000000 +0200
+++ new/mysql-connector-c++-8.0.28-src/jdbc/test/unit/unit_fixture.cpp
2021-10-09 09:23:31.000000000 +0200
@@ -130,7 +130,7 @@
columns.push_back(columndefinition("DATETIME", "DATETIME NOT NULL DEFAULT
'2009-02-12 21:36:54'", sql::DataType::TIMESTAMP, "2009-02-12 17:49:21", true,
19, 0, false, "2009-02-12 21:36:54", 0, "NO", false));
// TODO this might be server dependent!
- columns.push_back(columndefinition("TIMESTAMP", "TIMESTAMP",
sql::DataType::TIMESTAMP, "2038-01-09 03:14:07", false, 19, 0, true, "", 0,
"NO", false));
+ columns.push_back(columndefinition("TIMESTAMP", "TIMESTAMP",
sql::DataType::TIMESTAMP, "2038-01-09 03:14:07", true, 19, 0, true, "", 0,
"NO", false));
columns.push_back(columndefinition("TIME", "TIME", sql::DataType::TIME,
"-838:59:59", true, 8, 0, true, "", 0, "NO", true));
columns.push_back(columndefinition("TIME", "TIME NOT NULL",
sql::DataType::TIME, "838:59:59", true, 8, 0, false, "", 0, "NO", false));
columns.push_back(columndefinition("TIME", "TIME DEFAULT '12:39:41'",
sql::DataType::TIME, "-838:59:59", true, 8, 0, true, "12:39:41", 0, "NO",
true));
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/mysql-connector-c++-8.0.27-src/packaging/deb-in/CMakeLists.txt
new/mysql-connector-c++-8.0.28-src/packaging/deb-in/CMakeLists.txt
--- old/mysql-connector-c++-8.0.27-src/packaging/deb-in/CMakeLists.txt
2021-09-24 07:30:40.000000000 +0200
+++ new/mysql-connector-c++-8.0.28-src/packaging/deb-in/CMakeLists.txt
2021-11-17 16:03:52.000000000 +0100
@@ -100,6 +100,8 @@
SET (DEB_PLATFORMRELEASE "ubuntu20.04")
ELSEIF(DEB_CODENAME STREQUAL "hirsute")
SET (DEB_PLATFORMRELEASE "ubuntu21.04")
+ELSEIF(DEB_CODENAME STREQUAL "impish")
+ SET (DEB_PLATFORMRELEASE "ubuntu21.10")
ELSE()
MESSAGE(STATUS
"Skipping deb packaging on unsupported platform ${DEB_CODENAME}.")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/mysql-connector-c++-8.0.27-src/packaging/deb-in/compat
new/mysql-connector-c++-8.0.28-src/packaging/deb-in/compat
--- old/mysql-connector-c++-8.0.27-src/packaging/deb-in/compat 2021-09-24
07:30:40.000000000 +0200
+++ new/mysql-connector-c++-8.0.28-src/packaging/deb-in/compat 2021-11-17
16:03:52.000000000 +0100
@@ -1 +1 @@
-10
+11
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/mysql-connector-c++-8.0.27-src/packaging/mysql-connector-c++.spec.in
new/mysql-connector-c++-8.0.28-src/packaging/mysql-connector-c++.spec.in
--- old/mysql-connector-c++-8.0.27-src/packaging/mysql-connector-c++.spec.in
2021-09-24 07:30:40.000000000 +0200
+++ new/mysql-connector-c++-8.0.28-src/packaging/mysql-connector-c++.spec.in
2021-11-17 16:03:52.000000000 +0100
@@ -91,22 +91,6 @@
%description devel
This package contains the development header files and libraries necessary
to develop MySQL client applications in C++.
-%if 0%{?with_tests:1} && 0%{?with_gtest:1}
-
-%package test
-Summary: Regression tests for MySQL Connector/C++
-%if 0%{?commercial}
-Requires: mysql-connector-c++-commercial = %{version}-%{release}
-Requires: mysql-connector-c++-commercial-jdbc = %{version}-%{release}
-Obsoletes: mysql-connector-c++-test < %{version}-%{release}
-%else
-Requires: mysql-connector-c++ = %{version}-%{release}
-Requires: mysql-connector-c++-jdbc = %{version}-%{release}
-%endif
-%description test
-This package contains the test files necessary to run regression
-test suite for MySQL Connector/C++
-%endif
%prep
%setup -q -n mysql-connector-c++%{product_suffix}-%{version}-src
@@ -139,29 +123,9 @@
pushd build-dynamic
make DESTDIR=%{buildroot} install
-%if 0%{?with_tests:1} && 0%{?with_gtest:1}
-# Generating the test groups and run CMake again
-# to process the generated TestGroups.cmake file
-LD_LIBRARY_PATH=. ./run_unit_tests --generate_test_groups=TestGroups.cmake
-%__cmake_cmd
-# Move the test executable and test definition to private libdir
-install -d -m0755 %{buildroot}%{_libdir}/mysql-cppconn-8/dynamic
-mv CTestTestfile.cmake %{buildroot}%{_libdir}/mysql-cppconn-8/dynamic/
-mv run_unit_tests %{buildroot}%{_libdir}/mysql-cppconn-8/dynamic/
-%endif
popd
pushd build-static
make DESTDIR=%{buildroot} install
-%if 0%{?with_tests:1} && 0%{?with_gtest:1}
-# Generating the test groups and run CMake again
-# to process the generated TestGroups.cmake file
-./run_unit_tests --generate_test_groups=TestGroups.cmake
-%__cmake_cmd -DBUILD_STATIC=ON
-# Move the test executable and test definition to private libdir
-install -d -m0755 %{buildroot}%{_libdir}/mysql-cppconn-8/static
-mv CTestTestfile.cmake %{buildroot}%{_libdir}/mysql-cppconn-8/static/
-mv run_unit_tests %{buildroot}%{_libdir}/mysql-cppconn-8/static/
-%endif
popd
# Add compat dir and remove unwanted file
ln -s mysql-cppconn-8 %{buildroot}%{_includedir}/mysql-cppconn
@@ -194,19 +158,11 @@
%{_includedir}/mysql-cppconn-8/mysqlx
%{_includedir}/mysql-cppconn-8/mysql
%{_includedir}/mysql-cppconn-8/jdbc
-%if 0%{?with_tests:1} && 0%{?with_gtest:1}
-
-%files test
-%dir %{_libdir}/mysql-cppconn-8
-%dir %{_libdir}/mysql-cppconn-8/dynamic
-%dir %{_libdir}/mysql-cppconn-8/static
-%{_libdir}/mysql-cppconn-8/dynamic/run_unit_tests
-%{_libdir}/mysql-cppconn-8/dynamic/CTestTestfile.cmake
-%{_libdir}/mysql-cppconn-8/static/run_unit_tests
-%{_libdir}/mysql-cppconn-8/static/CTestTestfile.cmake
-%endif
%changelog
+* Tue Nov 09 2021 Gipson Pulla <[email protected]> - 8.0.28-1
+- Removed the internal testing package
+
* Thu Jun 10 2021 Gipson Pulla <[email protected]> - 8.0.26-1
- Updated the platforms that need cmake3
- The cmake3 binary isn't required for el8 platforms
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/mysql-connector-c++-8.0.27-src/version.cmake
new/mysql-connector-c++-8.0.28-src/version.cmake
--- old/mysql-connector-c++-8.0.27-src/version.cmake 2021-09-24
07:30:40.000000000 +0200
+++ new/mysql-connector-c++-8.0.28-src/version.cmake 2021-11-17
16:03:52.000000000 +0100
@@ -32,7 +32,7 @@
set(CONCPP_VERSION_MAJOR 8 CACHE INTERNAL "version info")
set(CONCPP_VERSION_MINOR 0 CACHE INTERNAL "version info")
-set(CONCPP_VERSION_MICRO 27 CACHE INTERNAL "version info")
+set(CONCPP_VERSION_MICRO 28 CACHE INTERNAL "version info")
# Level is "-alpha", "-beta", empty if GA
set(CONCPP_VERSION_LEVEL "" CACHE INTERNAL "version info")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/mysql-connector-c++-8.0.27-src/xapi/result.cc
new/mysql-connector-c++-8.0.28-src/xapi/result.cc
--- old/mysql-connector-c++-8.0.27-src/xapi/result.cc 2021-09-24
07:30:40.000000000 +0200
+++ new/mysql-connector-c++-8.0.28-src/xapi/result.cc 2021-11-17
16:03:52.000000000 +0100
@@ -45,6 +45,9 @@
{
auto &format = fi.get<cdk::TYPE_INTEGER>().m_format;
+ if(format.is_bit())
+ return MYSQLX_TYPE_BIT;
+
if (format.length() == 1)
return MYSQLX_TYPE_BOOL;
@@ -72,17 +75,17 @@
switch(format.type())
{
- case cdk::Format<cdk::TYPE_DATETIME>::TIME:
- return MYSQLX_TYPE_TIME;
- case cdk::Format<cdk::TYPE_DATETIME>::TIMESTAMP:
- return MYSQLX_TYPE_TIMESTAMP;
- default:
- return MYSQLX_TYPE_DATETIME;
+ case cdk::Format<cdk::TYPE_DATETIME>::TIME:
+ return MYSQLX_TYPE_TIME;
+ case cdk::Format<cdk::TYPE_DATETIME>::TIMESTAMP:
+ return MYSQLX_TYPE_TIMESTAMP;
+ default:
+ return MYSQLX_TYPE_DATETIME;
}
break;
}
- // TODO: differ the blob types by their length
+ // TODO: differ the blob types by their length
case cdk::TYPE_BYTES:
{
// TODO: use it when GEOMETRY type is supported by CDK
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/mysql-connector-c++-8.0.27-src/xapi/tests/xapi_crud-t.cc
new/mysql-connector-c++-8.0.28-src/xapi/tests/xapi_crud-t.cc
--- old/mysql-connector-c++-8.0.27-src/xapi/tests/xapi_crud-t.cc
2021-09-24 07:30:40.000000000 +0200
+++ new/mysql-connector-c++-8.0.28-src/xapi/tests/xapi_crud-t.cc
2021-11-17 16:03:52.000000000 +0100
@@ -2342,7 +2342,7 @@
EXPECT_EQ(MYSQLX_TYPE_DATETIME,
(mysqlx_data_type_t)mysqlx_column_get_type(res, 11));
EXPECT_EQ(MYSQLX_TYPE_TIME, (mysqlx_data_type_t)mysqlx_column_get_type(res,
12));
EXPECT_EQ(MYSQLX_TYPE_DECIMAL,
(mysqlx_data_type_t)mysqlx_column_get_type(res, 13));
- EXPECT_EQ(MYSQLX_TYPE_BYTES, (mysqlx_data_type_t)mysqlx_column_get_type(res,
14));
+ EXPECT_EQ(MYSQLX_TYPE_BIT, (mysqlx_data_type_t)mysqlx_column_get_type(res,
14));
EXPECT_EQ(MYSQLX_TYPE_ENUM, (mysqlx_data_type_t)mysqlx_column_get_type(res,
15));
EXPECT_EQ(MYSQLX_TYPE_SET, (mysqlx_data_type_t)mysqlx_column_get_type(res,
16));
EXPECT_EQ(MYSQLX_TYPE_GEOMETRY,
(mysqlx_data_type_t)mysqlx_column_get_type(res, 17));
++++++ mysql-connector-cpp-mariadb.patch ++++++
--- /var/tmp/diff_new_pack.Dw4DKc/_old 2022-04-12 21:51:05.450445666 +0200
+++ /var/tmp/diff_new_pack.Dw4DKc/_new 2022-04-12 21:51:05.450445666 +0200
@@ -33,7 +33,7 @@
};
@@ -303,7 +303,7 @@
#if MYCPPCONN_STATIC_MYSQL_VERSION_ID >= 50700
- {OPT_TLS_VERSION, MYSQL_OPT_TLS_VERSION, false},
+ {OPT_TLS_VERSION, MYSQL_OPT_TLS_VERSION, true},
#endif
- {OPT_LOAD_DATA_LOCAL_DIR, MYSQL_OPT_LOAD_DATA_LOCAL_DIR, false}
+ //{OPT_LOAD_DATA_LOCAL_DIR, MYSQL_OPT_LOAD_DATA_LOCAL_DIR, false}