Attempt to read the master-bin.state file always, even if the
binlog files (master-bin.index and master-bin.XXXXXX) have been
deleted.
This allows to easily preserve the binlog state when provisioning
a new server from a copy of an old one, without needing to copy
over the binlog files themselves.
mysql-test-run: *** ERROR: Could not find any of
/mariadb-5.5.34/sql/mysql_tzinfo_to_sql
/mariadb-5.5.34/build/client/mysql_tzinfo_to_sql
Fixed the directory list to search mysql_tzinfo_to_sql binary in.
The earlier pushed fix for the bug was incomplete. It did not remove
the main cause of the problem: the function remove_eq_conds()
removed always true multiple equalities from any conjunct, but did not
adjust the list of them stored in Item_cond_and::cond_equal.current_level.
Simplified the test case for the bug and moved it to another test file.
The fix triggered changes in EXPLAIN EXTENDED for some queries.
MDEV-4725: Incorrect binlog state recovery if crash while writing event group
The binlog state was not recovered correctly if XA is not used (eg. InnoDB
disabled), or if server crashed in the middle of writing an event group to the
binlog.
With this patch, we ensure that recovery of binlog state is done even if we do
not do the full XA binlog recovery, and we ensure that we only recover fully
written event groups into the binlog state.
- Don't pull out a table out of a semi-join if it is on the inner side of an outer join.
- Make join->sort_by_table= get_sort_by_table(...) call after const table detection
is done. That way, the value of join->sort_by_table will match the actual execution.
Which will allow the code in setup_semijoin_dups_elimination() (search for
"Make sure that possible sorting of rows from the head table is not to be employed."
to see that "Using filesort" is going to be used together with Duplicate Elimination (
and change it to Using temporary + Using filesort)
There were some places where insufficient locking between
parallel threads could cause invalid memory accesses and
possibly other grief.
This patch adds the missing locking, and moves the locking
into the struct rpl_binlog_state methods to make it easier
to see that proper locking is in place everywhere.
-DINSTALL_SYSCONFDIR/-DDEFAULT_SYSCONFDIR specified
The reason for a bug is in support-files/CMakeLists.txt that tries to
install files in INSTALL_SYSCONF2DIR, without checking whether this
variable is actually defined.
Normally INSTALL_SYSCONF2DIR is always defined if INSTALL_SYSCONFDIR is
defined, and support-files/CMakeLists.txt assumes that. But when one
specifies INSTALL_SYSCONFDIR manually on the command line, this
assumption might be broken.
- make_join_readinfo() has the code that forces use of "Using temporary;
Using filesort" when join buffering is in use.
That code didn't handle all cases, in particular it didn't hande the case
where ORDER BY originally has tables from multiple columns, but the
optimizer eventually figures out that doing filesort() on one table
will be sufficient. Adjusted the code to handle that case.
mysql_tzinfo_to_sql is not compiled under Windows in the pre-5.5 versions.
Do not set the MYSQL_TZINFO_TO_SQL variable in the version prior to 5.5
under Windows.