information function. This solve the problem of uninitialised zone
that was detected by valgrind.
modified:
storage/connect/myconn.cpp
storage/connect/odbconn.cpp
storage/connect/tabfmt.cpp
storage/connect/tabutil.cpp
storage/connect/tabwmi.cpp
Following variables do not require LOCK_open protection anymore:
- table_def_cache (renamed to tdc_hash) is protected by rw-lock
LOCK_tdc_hash;
- table_def_shutdown_in_progress doesn't need LOCK_open protection;
- last_table_id use atomics;
- TABLE_SHARE::ref_count (renamed to TABLE_SHARE::tdc.ref_count)
is protected by TABLE_SHARE::tdc.LOCK_table_share;
- TABLE_SHARE::next, ::prev (renamed to tdc.next and tdc.prev),
oldest_unused_share, end_of_unused_share are protected by
LOCK_unused_shares;
- TABLE_SHARE::m_flush_tickets (renamed to tdc.m_flush_tickets)
is protected by TABLE_SHARE::tdc.LOCK_table_share;
- refresh_version (renamed to tdc_version) use atomics.
when deleting one key of a INI table with layout=Row. The same happens
for layout=column but this is normal as one line is one section.
modified:
storage/connect/tabsys.cpp
- Should fix a valgrind warning in CHRBLK::GetValPtrEx
modified:
storage/connect/valblk.cpp
* use sql_mode_for_dates() where appropriate.
* always specify an argument for sql_mode_for_dates()
(future-proof. easier to notice and fix if the caller
will start using thd from a local variable or an argument)
modified:
storage/connect/ha_connect.cc
storage/connect/ha_connect.h
storage/connect/plgdbsem.h
- Fiw a bug making records_in_range sometimes return a negative
value.
modified:
storage/connect/xindex.cpp
remove unused HA_CAN_EXPORT
(with the merge of "FLUSH TABLE <table_list> FOR EXPORT",
this functionality should be added back, but differently -
no table flag, handler::extra() returns an error instead)
special columns are processed. This will be documented.
Also some code cleanup and some changes to prepare the indexing of
nullable columns (not achieve yet)
modified:
storage/connect/colblk.cpp
storage/connect/colblk.h
storage/connect/connect.cc
storage/connect/connect.h
storage/connect/ha_connect.cc
storage/connect/ha_connect.h
storage/connect/macutil.cpp
storage/connect/mycat.cc
storage/connect/plgdbsem.h
storage/connect/reldef.cpp
storage/connect/reldef.h
storage/connect/table.cpp
storage/connect/tabmysql.cpp
storage/connect/tabmysql.h
storage/connect/tabodbc.h
storage/connect/tabtbl.cpp
storage/connect/tabutil.h
storage/connect/value.h
storage/connect/xindex.cpp
storage/connect/xindex.h
storage/connect/xtable.h
MDEV-4797 - Spider crash on show create table spider table and replication
multi source to one of the partitions
MDEV-4747 - Spider: add missing install_spider.sql
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).
Temorary fix for a number of replication tests (rpl.rpl_temp_table_mix_row
rpl.rpl_trunc_temp rpl.rpl_current_user rpl.rpl_gtid_master_promote):
- THD::decide_logging_format() should not assume that mysql.gtid_slave_pos is
a non-replicated table. This used to cause unintended behavior for COMMIT
statement: replication would switch to row-based, etc.
The question of what should be done when a user issues a statement that
explicitly modifies mysql.gtid_slave_pos table remains open.
Workaround for a possible GCC bug happening in my_fill_ucs2:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58039
Commenting out the optimized loop.
Using the original MySQL version.
modified:
strings/ctype-ucs2.c
Fixed main.plugin, main-test_sql_discovery.plugin failures.
storage/example/ha_example.cc:
Issue a warning independently of DBUG status (needed for testing).
Fixed main.partition_open_files_limit, innodb.innodb_bug12400341 failures.
These testcases use --max-connections=N command line option, which
was declared PARSE_EARLY during the merge. Embedded didn't handle
early options and failed to start due to unknown command line
option.
libmysqld/lib_sql.cc:
Let embedded handle early options.
sql/mysqld.cc:
Moved handling of early options to a separate function.
sql/mysqld.h:
Moved handling of early options to a separate function.
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.
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
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.