MDEV-32301: Server crashes at Arg_comparator::compare_row
In Item_bool_rowready_func2::build_clone(): if we're setting
clone->cmp.comparators=0
also set
const_item_cache=0
as the Item is currently in a state where one cannot compute it.
The cmake configuration step is single-threaded and already consuming
too much time. We should not make it worse by adding invocations like
MY_CHECK_CXX_COMPILER_FLAG().
Let us prefer something that works on any supported version
of GCC (4.8.5 or later) or clang, as well as recent versions
of the Intel C compiler.
This replaces commit 1fde785315ec6d575d0cd5c3e33d53a5d83e3e00
MDEV-31996 Create connection on demand in spider_db_delete_all_rows
When spider_db_delete_all_rows() is called, the supplied spider->conns
may have already been freed. The existing mechanism has spider_trx own
the connections in trx_conn_hash and it may free a conn during the
cleanup after a query. When running a delete query and if the table is
in the table cache, ha_spider::open() would not be called which would
recreate the conn. So we recreate the conn when necessary during
delete by calling spider_check_trx_and_get_conn().
We also reduce code duplication as delete_all_rows() and truncate()
has almost identical code, and there's no need to assign
wide_handler->sql_command in these functions because it has already
been correctly assigned.
MDEV-32387 Windows - mtr output on is messed up with large MTR_PARALLEL.
Windows C runtime does not implement line buffering mode for stdio.
This sometimes makes output from different tests interleaved in MTR
MTR relies on this buffering (lines won't output until "\n") to correctly
work in parallel scenarios.
Implement do-it-yourself line buffering on Windows, to workaround.
MDEV-32387 Windows - mtr output on is messed up with large MTR_PARALLEL.
Windows C runtime does not implement line buffering mode for stdio.
This sometimes makes output from different tests interleaved in MTR
MTR relies on this buffering (lines won't output until "\n") to correctly
workin parallel scenarios.
Implement do-it-yourself line buffering on Windows, to workaround.