- Problem: mysql_admin_table() calls open_temporary_tables(). This
causes assertion failure, because mysql_execute_command() has
already called open_temporary_tables()
- Solution: call close_thread_tables() at the start of
mysql_admin_table(), like mysql-5.6 does
- After the merge from mysql-5.6, open_tables() did not call
open_and_process_table() for temporary table. The logic was that temporary
tables were already opened when mysql_execute_command() has called
open_temporary_tables().
This worked for the most part, except for temporary tables of type MERGE. for
which open_and_process_table() must call
table->file->extra(HA_EXTRA_ADD_CHILDREN_LIST).
Failure to make this call resulted in crash further in execution.
tables->table->file->extra(HA_EXTRA_ADD_CHILDREN_LIST)
-Note 1031 Table storage engine for 't1' doesn't have this option
+Note 1031 Table storage engine for 'InnoDB' doesn't have this option
They were caused by a change in MariaDB which changed ER_ILLEGAL_HA message
text to be like:
"Storage engine InnoDB of the table `test`.`t1` doesn't have this option"
Some the error calls were changed to pass new parameters, but some were left
to be old. Also the error text in errmsg-ut8.txt was not changed.
- Take into account that Dynamic_array::back() now returns
pointer to the last element (it used to return pointer to
right after the last element)
- Fix error messages merge: ER_INTERNAL_ERROR was defined
independently by both mysql-5.6 and mariadb-5.5. Switch
to their error number, and still support ours for compatibility.
- make the test output stable
- make Log_to_csv_event_handler::log_slow() to write the value
of thd->thread_id (it didn't, and so 0 was always logged).
Merged all ddl_logging code.
Merged sql_partition.cc
innodb_mysql_lock2.test and partition_cache.test now works.
Changed interface to strconvert() to make it easier to use with not \0 terminated strings.
sql/sql_partition.cc:
Full merge with 5.6
sql/sql_table.cc:
Merged all ddl_logging code
sql/strfunc.cc:
Added from_length argument to strconvert() to make it possible to use without end terminated strings.
sql/strfunc.h:
Added from_length argument to strconvert() to make it possible to use without end terminated strings.
mysql-test/r/mdl_sync.result:
Full merge with 5.6
mysql-test/t/mdl_sync.test:
Full merge with 5.6
sql/debug_sync.cc:
Full merge with 5.6
sql/debug_sync.h:
Full merge with 5.6
sql/mdl.cc:
Full merge with 5.6
sql/sql_base.cc:
Removed code not in 5.6 anymore
Fixed OPTIMIZE with innodb
include/my_sys.h:
Removed ATTRIBUTE_FORMAT() as it gave warnings for %'s
sql/log_event.cc:
Optimization:
use my_b_write() and my_b_write_byte() instead of my_b_printf()
use strmake() instead of my_snprintf()
sql/sql_admin.cc:
Fixed bug in admin_recreate_table()
Fixed OPTIMIZE with innodb
sql/sql_table.cc:
Indentation fixes
strings/my_vsnprintf.c:
Changed fprintf() to fputs()
Fixed type and testing of last_update type for innodb_table_stats
mysql-test/r/connect.result:
Removed tables which are not created anymore
sql/item_sum.h:
Fixed typo
sql/sql_base.cc:
Don't update table and index statics for temporary tables
sql/sys_vars.cc:
Merge
storage/innobase/dict/dict0stats.cc:
Fixed type last_update to TIMESTAMP.
- temporary tables now works
- mysql-system_tables updated to not use temporary tables
- PASSWORD() function fixed
- Support for STATS_AUTO_RECALC, STATS_PERSISTENT and STATS_SAMPLE_PAGES table options