If not selected otherwise.
The connection option `trustServerCertificate` responsible for that is
now properly documented in the README(.md) It is true by default that
means that certificate is not verified. If not set to false it now
causes also that certificate verification is explictitly turned off.
That enables connector to work without problem with C/C 3.4
from ResultSetMetaData. Some of them have prefix "Types::", some not.
They all should not have.
Fix of error in the previous commit in the RowProtocol.cpp
That could happen only with binary results, i.e. with results of
PreparedStatement if useServerPrepStmts option set.
Also the commit contain some performance improvements. In particular for
converting string values to double.
sql::bytes::length may be negative. That ByteArrayParameter::writeTo(SQLString& str) static_cast it directly to size_t causes unexpected result in this case.
This fixes compilation errors on systems, where the standard library doesn't happen to include sized integer definitions in one of the already included headers
Statement::addBatch was omitted in previous commit. Here it is optimized
as well(in similar way).
Previous commit did not restore the autocommit in the stored server
status, so next query could thing it still off.
Fixed testcases for maxscale and fixing testing with mysql servers.
Changed default execution method to turn autocommit off for the time of
execution if it was on. Committing after the end of the batch if
autommit was on.
The CMake variable `CMAKE_SOURCE_DIR` expands to the directory of the
top level CMakeLists being invoked. When added as a git submodule and
imported into a CMake project via `add_subdirectory`,
mariadb-connector-cpp fails to configure as it attempts to look for its
files in the top level directory instead of its own directory. For
example, assuming mariadb-connector-cpp is in
`project/ext/mariadb-connector-cpp/`, when attempting to find a file X,
the search path is `project/X` instead of
`project/ext/mariadb-connector-cpp/X`.
We change `CMAKE_SOURCE_DIR` to `CMAKE_CURRENT_SOURCE_DIR` which expands
to the directory currently being processed by CMake.
The test linked against static lib needs to link against pthread as well
Small fix for for cmake on macos - the error prevented building unsigned
code and package.
---------
Co-authored-by: Lawrin Novitsky <lawrin.novitsky@mariadb.com>
I've made things simpler. Hopefully I've understood correctly what
problems did mingw have.
Along the way I've chcnged priority of the USE_SYSTEM_INSTALLED_LIB. It
wasn't respected, if libmariadb subdirecory is present and there is
CMakeLIsts.txt in it. Now if it's set, connector will be looking for
libs and headers installed on the system.
Introduced MARIADB_STATIC_LINK that needs to be defined if application
want to link static C/C++ lib on Windows. The other way is define
MARIADB_EXPORTS and MARRIADB_EXTERN as extern
Made MARIADB_EXPORTS definition in cmake target specific, and not
project wide.
Not sure why, but submodule looks to be not updated. Moved to v3.3.8 tag
Added new target for comiling objects that then used by both shared and
static libraries targets.
Static library on Windows named mariadbcpp-static.lib
static_test is now linked against static library, as we need to test it
(static library) somehow, and the name of test kinda suggested to use
it.
It's been added to msi and other packages. MSI target depends on static
lib target.
Renamed package components the way it's done in C/C. Static lib and
headers are in Development, library is in SharedLibraries.
Small error mistake in one class(not related to the commit, just not to
be lost)
Using setByte could crash driver at the query execution. Also, all
integer getters - i.e. getBytes, ..., getUInt64 would not return correct
number in case of binary string field. They old would try to use field
value as string data and convert string to the appropriate integer type.
It was revealed by setBytes testcase, as getBytes(for SELECT ? query)
would not return the same value, that had been set, or even throw
exception as "value is out of range"
Fix of test in databasemetadata, that checks functions returning server
version.
Update of Travis matrix
Added couple of tests to prepared statement to test SP with PS instead
of CallableStatement
ver. As it most probably due to root/Administrator account gssapi
authentication.
Changed testframework to make possible empty value for command line
arguments, e.g. empty password.
Removed some unused and not really needed code from cmake config
Also fixed bug in batch execution using param array(aka bulk) method.
Callback for parameters returned wrong type, and sometimes it could be
interpreted as an error, and the whole bulk operation would fail
Fix of the test in databasemetadata, that did not now wxpect server
major version can be 11
Removed 10.3 and added 11.0 to the travic config
That should make easier building with old compiler versions, that are
still out there. Hence has made minimal required GCC version 4.8
Updated C/C to v3.3.5
respective compiler options.
Fix of issued found with ASAN on Windows on Linux - one memory leak in case of parameter array operation,
and the reast are all about not respecting bytes object length and assuming it's null terminated.
These are to decide if string is date, is time, if the statement is Call
and is the statement prepareble/should be prepared on server
Also, removed some regexp references, that are currently not used(i.e.
in parts of code for features we currently not support)
Attibutes can be defined in URL or in properties under the name
connectionAttributes in the format
connectionAttributes=attr1:value1,attr2:value2
Added test and info to the README.md
Contains also libmariadb submodule update to the latest release and some
tests improvements/fixes, in particular caused by latest server release
changes.