mtr can crash occasionally.
This happens when mtr sends to a child mtr process (or vice-versa) a packet,
that gets truncated or, perhaps, split in two.
Then the other side cannot deserialize it and fails as above.
Adding test cases from the bug report only.
The problem was earlier fixed by:
MDEV-4863 COALESCE(time_or_datetime) returns wrong results in numeric context
modified:
mysql-test/r/func_time.result
mysql-test/t/func_time.test
Adding a test case only.
The problem was fixed by:
MDEV-4724 Some temporal functions do not preserve microseconds
modified:
mysql-test/r/func_time.result
mysql-test/t/func_time.test
It is now possible to kill query by query id. KILL syntax was extended to:
KILL [HARD | SOFT] [CONNECTION | QUERY [ID query_id]] [thread_id | USER user_name]
Added QUERY_ID column to INFORMATION_SCHEMA.PROCESSLIST.
Fixed tests affected by this change:
- added PROCESSLIST.QUERY_ID column
- ID is now keyword and is quoted in SHOW CREATE TABLE output
- PFS statement digest is calculated basing on token id
(not token text). Token id has shifted for keywords residing
after ID in keywords array.
Currently several places use description_event->common_header_len instead of
LOG_EVENT_MINIMAL_HEADER_LEN when parsing events with "frozen" headers (such
as Start_event_v3 and its subclasses such as Format_description_log_event, as
well as Rotate_event). This causes events with extra headers (which would otherwise
be valid and those headers ignored) to be corrupted due to over-reading or skipping
into the data portion of the log events.
It is rewritten in some details patch of Jeremy Cole (See MDEV):
- The virtual function returns length to avoid IFs (and only one call of the virtual function made)
- Printing function avoids printing strings
BUILD/compile-solaris-amd64:
* call cmake directly, don't go through three layers of wrappers
(but preserve the compile-solaris-amd64 file - buildbot uses it for 5.1 and 5.5)
* disable jemalloc, it doesn't compile on our sol10-64 box
storage/federated/ha_federated.cc:
clang warning
storage/tokudb/CMakeLists.txt:
* require cmake-2.8.9, because 2.8.8 doesn't add -fPIC for POSITION_INDEPENDENT_CODE
property that ft-index CMakeLists.txt files are using
* add TokuDB, together with the ft-index library
* cmake support, auto-detecting whether tokudb can be built
* fix packaging - tokudb-engine.rpm, deb
* remove PBXT
* add jemalloc
* the server is built with jemalloc by default even if TokuDB is not built
* documentation files in RPM are installed in the correct location
* support for optional deb packages (tokudb has specific build requirements)
* move plugins from mariadb-server deb to appropriate debs (server/test/libmariadbclient)
* correct mariadb-test.deb to be not architecture-independent
* fix out-of-tree builds to never modify in-tree files
* new handler::prepare_index_scan() method
After MDEV-4817, WHERE clause may be evaluated early, in fix_fields.
In ps-protocol fix_fields happens both for prepare and execute phase,
generating double the number of warnings from the early WHERE clause
executions.
* now only production-use server plugins are in mariadb-server.
client plugins are now in libmariadbclient18,
testing-only server plugins are now in mariadb-test
(set Coflicts: field properly)
* fix Architecture: of mariadb-test
* terrible hack to support optional deb packages for optional plugins
cmake/plugin.cmake:
* auto-create an rpm for a plugin, if it places itself in a new component
storage/tokudb/CMakeLists.txt:
install tokudb in COMPONENT tokudb-engine.
this automatically creates a separate rpm for it.
* disable jemalloc on windows (cannot run ./configure)
* disable jemalloc on ancient cmake (ExternalProject does not work)
* rewrite TokuDB compiler test to check for features, not versions (to work on cmake before 2.8.11)
* fix ft-index to not add VALGRIND_INCLUDE_DIR to includes, if no valgrind was found
* correct the package name in FindValgrind.cmake (for find_package(... REQUIRED) to work)
* disable ft-index tests by default (faster compilation and they aren't used anyway)
* don't build ft-index with valgrind by default (otherwise it *requires* valgrind, it doesn't auto-detect)
* use --loose-tokudb in the .opt file
cmake/jemalloc.cmake:
for dependencies to work, LIBJEMALLOC should be the target name, not the path
storage/tokudb/CMakeLists.txt:
* check the preconditions
* disable bdb tests (compilation errors)
* set variable, instead of SET_PROPERTY. same effect,
but doesn't fail when a plugin is disabled (that is, a target does not exist)
storage/tokudb/ft-index/CMakeLists.txt:
cmake should not look into examples/ directory,
there is hand-crafted examples/Makefile that
cmake will overwrite
storage/tokudb/ft-index/buildheader/CMakeLists.txt:
the syntax is ADD_EXECUTABLE(target source) and "source" is the file name
storage/tokudb/ft-index/cmake_modules/TokuMergeLibs.cmake:
Libraries must be specified in the specific order,
REMOVE_DUPLICATES cannot be used, because it destroys this order.
(when OSLIBS contains "-lpthread -ljemalloc -lpthread", REMOVE_DUPLICATES
makes it "-lpthread -ljemalloc". But a thread library *must* be *after* jemalloc)
storage/tokudb/ft-index/cmake_modules/TokuSetupCTest.cmake:
* 'which' might print errors to stderr, they are not important, shut them up
* we don't have TOKUDB_DATA, no need to warn about it
* don't configure_file into itself (with input=output)
storage/tokudb/ft-index/cmake_modules/TokuThirdParty.cmake:
jemalloc is built externally to tokudb/ft-index
storage/tokudb/ft-index/ft/CMakeLists.txt:
the syntax is ADD_EXECUTABLE(target source) and "source" is the file name
storage/tokudb/ft-index/ft/tests/CMakeLists.txt:
the syntax is ADD_EXECUTABLE(target source) and "source" is the file name
storage/tokudb/ft-index/locktree/tests/CMakeLists.txt:
the syntax is ADD_EXECUTABLE(target source) and "source" is the file name
storage/tokudb/ft-index/portability/CMakeLists.txt:
s/jemalloc/libjemalloc/
storage/tokudb/ft-index/portability/os_malloc.cc:
unnecessary include file
storage/tokudb/ft-index/portability/tests/CMakeLists.txt:
the syntax is ADD_EXECUTABLE(target source) and "source" is the file name
storage/tokudb/ft-index/src/tests/CMakeLists.txt:
the syntax is ADD_EXECUTABLE(target source) and "source" is the file name
storage/tokudb/ft-index/util/tests/CMakeLists.txt:
the syntax is ADD_EXECUTABLE(target source) and "source" is the file name
storage/tokudb/ft-index/utils/CMakeLists.txt:
the syntax is ADD_EXECUTABLE(target source) and "source" is the file name
file_logger became the service.
Data like query_id now are sent to the audit plugin.
Fix for MDEV-4770 ported from 10.0.
Fix added for the read_maria_plugin_info().
Log rotation can be disabled with 'set rotations=0'.