innodb_ft_user_stopword_table to DEFAULT
Setting plugin string variable with PLUGIN_VAR_MEMALLOC flag
to NULL causes server crash.
mysql-test/suite/sys_vars/r/innodb_ft_user_stopword_table_basic.result:
Reset innodb_ft_user_stopword_table. Also tests MDEV-4801.
mysql-test/suite/sys_vars/t/innodb_ft_user_stopword_table_basic.test:
Reset innodb_ft_user_stopword_table. Also tests MDEV-4801.
sql/sql_plugin.cc:
When we got NULL value, do not strdup(NULL).
Fixed funcs_1.is_statistics_mysql_embedded, funcs_1.is_columns_mysql_embedded,
funcs_1.is_table_constraints_mysql_embedded, funcs_1.is_tables_mysql_embedded
failures.
mysql-test/suite/funcs_1/r/is_columns_mysql_embedded.result:
Applied same changes as to non-embedded counterpart.
mysql-test/suite/funcs_1/r/is_statistics_mysql_embedded.result:
Applied same changes as to non-embedded counterpart.
mysql-test/suite/funcs_1/r/is_table_constraints_mysql_embedded.result:
Applied same changes as to non-embedded counterpart.
mysql-test/suite/funcs_1/r/is_tables_mysql_embedded.result:
Applied same changes as to non-embedded counterpart.
MDEV-4812 Valgrind warnings (Invalid write) in dynamic_column_update_many on COLUMN_ADD
Fixed problem of working on wrong data (do not allow offset to out of string length).
fix_field() call protocol was brocken (zero pointer passed as link to item which is possible only if you are sure that there can not be Items which transforms).
Added forgotten partition_explicit_prune from mysql-5.6.
Backported the fix for
Bug#13559657: PARTITION SELECTION DOES NOT WORK WITH VIEWS
from mysql-5.6
- Modify the way Item_cond::fix_fields() and Item_cond::eval_not_null_tables()
calculate bitmap for Item_cond_or::not_null_tables():
if they see a "... OR inexpensive_const_false_item OR ..." then the item can
be ignored.
- Updated test results. There can be more warnings produced since parts of WHERE
are evaluated more times.
There is a race condition during shutdown, that happens when "show status" runs during shutdown.
Functions show_slave_running(), show_slave_received_heartbeats(), show_heartbeat_period() would dereference NULL pointer master_info_index, after this variable is set to NULL in slave_end() during shutdown.
Fix introduces check for master_info_index == NULL in the affected functions.
Fixed parts.partition_alter1_1_2_innodb, parts.partition_alter1_2_innodb,
parts.partition_alter2_1_1_innodb, parts.partition_alter2_1_2_innodb,
parts.partition_alter2_2_1_innodb, parts.partition_alter2_2_2_innodb,
parts.partition_alter4_innodb failures.
mysql-test/suite/parts/r/partition_alter1_1_2_innodb.result:
Reverted some changes to test case as InnoDB doesn't support
REPAIR TABLE and we didn't merge the following revision, which
implements REPAIR TABLE for partitioning:
mattias.jonsson@oracle.com-20130130165152-o4tivhs5ty6n6nqa
mysql-test/suite/parts/r/partition_alter1_2_innodb.result:
Reverted some changes to test case as InnoDB doesn't support
REPAIR TABLE and we didn't merge the following revision, which
implements REPAIR TABLE for partitioning:
mattias.jonsson@oracle.com-20130130165152-o4tivhs5ty6n6nqa
mysql-test/suite/parts/r/partition_alter2_1_1_innodb.result:
Reverted some changes to test case as InnoDB doesn't support
REPAIR TABLE and we didn't merge the following revision, which
implements REPAIR TABLE for partitioning:
mattias.jonsson@oracle.com-20130130165152-o4tivhs5ty6n6nqa
mysql-test/suite/parts/r/partition_alter2_1_2_innodb.result:
Reverted some changes to test case as InnoDB doesn't support
REPAIR TABLE and we didn't merge the following revision, which
implements REPAIR TABLE for partitioning:
mattias.jonsson@oracle.com-20130130165152-o4tivhs5ty6n6nqa
mysql-test/suite/parts/r/partition_alter2_2_1_innodb.result:
Reverted some changes to test case as InnoDB doesn't support
REPAIR TABLE and we didn't merge the following revision, which
implements REPAIR TABLE for partitioning:
mattias.jonsson@oracle.com-20130130165152-o4tivhs5ty6n6nqa
mysql-test/suite/parts/r/partition_alter2_2_2_innodb.result:
Reverted some changes to test case as InnoDB doesn't support
REPAIR TABLE and we didn't merge the following revision, which
implements REPAIR TABLE for partitioning:
mattias.jonsson@oracle.com-20130130165152-o4tivhs5ty6n6nqa
mysql-test/suite/parts/r/partition_alter4_innodb.result:
Reverted some changes to test case as InnoDB doesn't support
REPAIR TABLE and we didn't merge the following revision, which
implements REPAIR TABLE for partitioning:
mattias.jonsson@oracle.com-20130130165152-o4tivhs5ty6n6nqa
Fixed parts.partition_alter1_1_innodb failure.
mysql-test/suite/parts/t/partition_alter1_1_innodb.test:
Applied hunk from 5.6 test: test takes long time, so only run it with
the --big-test mtr-flag.
Fixed archive.archive failure.
Applied remnants of two revisions, which were partially merged.
Rev. 3225.1.1 (5.0 compatibility):
BUG#11756687 - 48633: ARCHIVE TABLES ARE NOT UPGRADEABLE
Archive table created by 5.0 were not accessible.
This patch adds various fixes so that 5.0 archive tables
are readable and writable. Though it is strongly recommended
to avoid binary upgrade of archive tables whenever it is
possible.
Rev. 3710 (due to valgrind warnings):
Bug#13907676: HA_ARCHIVE::INFO
In WL#4305 the refactoring of the archive writer,
it could flush the writer when it was not yet open.
This was due to if bulk insert was used but no
rows was actually inserted (write_row was never called),
the writer was marked dirty even if it was not open.
Fix was to only mark it as dirty if it was opened.
mysql-test/std_data/bug48633.ARM:
A test case for BUG#11756687: archive table created by 5.0.95.
mysql-test/std_data/bug48633.ARZ:
A test case for BUG#11756687: archive table created by 5.0.95.
mysql-test/std_data/bug48633.frm:
A test case for BUG#11756687: archive table created by 5.0.95.
mysql-test/suite/archive/archive.result:
Modified a test case for BUG#47012 according to fix for
BUG#11756687.
Added a test case for BUG#11756687.
mysql-test/suite/archive/archive.test:
Modified a test case for BUG#47012 according to fix for
BUG#11756687.
Added a test case for BUG#11756687.
No need to remove .ARM files anymore: DROP TABLE will take
care of them.
storage/archive/azio.c:
Do not write AZIO (v.3) header to GZIO file (v.1).
Added initialization of various azio_stream members
to read_header() so it can proceed with v.1 format.
Update data start position only when reading first
GZIO header. That is only on azopen(), but never on
azread().
storage/archive/ha_archive.cc:
Removed guardians that were rejecting to open v.1 archive
tables.
Reload .frm when repairing v.1 tables - they didn't have
storage for .frm.
Do not flush write stream when it is not open.
Let DROP TABLE remove 5.0 .ARM files.
IN TIME RECOVERY FAILURE ON SLAVES
Problem:
DROP TEMP TABLE IF EXISTS commands can cause point
in time recovery (re-applying binlog) failures.
Analyses:
In RBR, 'DROP TEMPORARY TABLE' commands are
always binlogged by adding 'IF EXISTS' clauses.
Also, the slave SQL thread will not check replicate.* filter
rules for "DROP TEMPORARY TABLE IF EXISTS" queries.
If log-slave-updates is enabled on slave, these queries
will be binlogged in the format of "USE `db`;
DROP TEMPORARY TABLE IF EXISTS `t1`;" irrespective
of filtering rules and irrespective of the `db` existence.
When users try to recover slave from it's own binlog,
use `db` command might fail if `db` is not present on slave.
Fix:
At the time of writing the 'DROP TEMPORARY TABLE
IF EXISTS' query into the binlog, 'use `db`' will not be
present and the table name in the query will be a fully
qualified table name.
Eg:
'USE `db`; DROP TEMPORARY TABLE IF EXISTS `t1`;'
will be logged as
'DROP TEMPORARY TABLE IF EXISTS `db`.`t1`;'.
Fixed failure of one of the test case from innodb_ext_key.test.
The fact is that the innodb code may return statistical data
on record per key values that is far off the real numbers.
This is exactly what happened in mariadb-5.5 with this test case.
Added an ANALYZE command in this test case to avoid this problem.
The same change will be done in mariadb-5.5