It changes TARGET_LINK_LIBRARIES in versionin script configuration in
cmake for SET_TARGET_PROPERTIES. In this way, if C/C is a sub-project in
other project, version script want go into parent project.
Removed all OLD cmake policies
- Symlink macro now uses cmake generator expression $<TARGET_FILE_NAME:*>
- Since all plugins are built in the same directory, the location detection was removed for windows packaging
- Installation of the windows *.pdb for libmariadb now also uses a static path.
Plugin configuration happens now in CMakeLists.txt files in corresponding plugin directories.
plugins.cmake now contains REGISTER_PLUGIN_FUNCTION which accepts the following parameters:
- TARGET: the name of the plugin (dynamic plugins will be named ${TARGET}.so (or .dll)
- SOURCES: source files
- LIBRARIES: additional libraries for linking
- INCLUDES: include directories
- CONFIGURATIONS: possible plugin configurations: valid arguments are DYNAMIC, STATIC, OFF
- DEFAULT: default configuration (see CONFIGURATIONS)
- COMPILE_OPTIONS: compiler flags
The default plugin configuration can be specified via cmake parameter -DCLIENT_PLUGIN_${TARGET}=[DYNAMIC|STATIC|OFF]
When building Connector/C as subproject inside server we need to check additionally if WITH_ETERNAL_ZLIB was specified, since ZLIB_FOUND was already set by parent.
MDEV-13593 dlopen failure loading after upgrade from 10.2.6 to 10.2.8
MDEV-13619 libmariadb missing version info for libmariadbclient_18
MDEV-13615 MariaDB 10.2 client library (Debian 9/Stretch) not compatible with Perl MySQL DBI module
Debian 9, just for the fun of it, I presume, renamed
version nodes in the libmysqlclient.so, introducing
new incompatible with anything, version
"libmariadbclient_18". This version will supposedly
disappear in Debian 10 (breaking compatibility again).
But libmariadb.so.3 needs to be compatible with
Debian 8 (libmysqlclient_18),
Debian 9 (libmariadbclient_18), and, in the future,
Debian 10 (libmariadb_3?). At the same time!
To achieve this remarkable feat we version old symbols
with libmysqlclient_18, and (!) alias them into
libmariadbclient_18. New symbols are versioned under
libmariadb_3.
Added version info for shared object:
libmysqlclient_18 node contains all symbols for libmysql compatibiliry
libmariadb_3 node contains all mariadb specific symbols which are not supported by libmysql
restore compat symlinking code that was removed by mistake,
but disable symlinks by default (if built outside of the server).
Also C/C in 10.2.7 is not "beta"
when compiling with asan, clang automatically links with
libasan_rt library. But only when for executables.
It does not links with libasan_rt when generating shared libraries.
So, libmariadb.so ends up with lots of undefined __asan_xxx symbols.
or INSTALL_DOCDIR
Changed C/C to use the same cmake variables for
INSTALL_LIBDIR, INSTALL_BINDIR, INSTALL_INCLUDEDIR, INSTALL_PLUGINDIR
Small cleanups (remove -l/full/path/to/libc.so from mariadb_config output)
* make is usable as a CMake sub-project
* put options in a separate namespace
* but use parent project values when specified
* always specify COMPONENT when INSTALLing
* don't use PROJECT_SOURCE_DIR/PROJECT_BINARY_DIR
Also
* fix out-of-source builds (don't generate files
in the CMAKE_SOURCE_DIR, always do it in CMAKE_BINARY_DIR)
* make subsequence cmake runs less verbose, use MESSAGE1
to avoid repeating messages that didn't change
- Fixed offset for warning_count in ps protocol
- Added new api function mysql_stmt_warning_count
- For backwards compatibility we also update the value for
mysql_warning_count function
- At the moment the following session tracking types are supported:
SESSION_TRACK_SCHEMA
SESSION_TRACK_SYSTEM_VARIABLES
SESSION_TRACK_STATE_CHANGE
SESSION_TRACK_TRANSACTION_CHARACTERISTICS
- New API functions
mysql_session_track_get_next
mysql_session_track_get_first
Fixed float/double/decimal converion for prepared statements:
since _gcvt (Windows) and gcvt (*nix) deliver different results
we use now dtoa.c from server package, which is licensed under
LGPL.
- changed plugin API to avoid crashes: Oracle/MariaDB changed
structure several times without updating interface version.
- ABI fixes: moved additional net items to net->extension (connection
handler and com_multi buffer)