[Commits] 8dffa7eaf67: Merge remote-tracking branch 'origin/10.4' into bb-10.4-galera4
revision-id: 8dffa7eaf67cec01b91f521cf49447a34936ab92 (mariadb-10.3.6-186-g8dffa7eaf67) parent(s): 6f6b74089cf7324205d4c774d30d35e6e650d003 c761b43451d54eeeecdf3c102906fcce88d4e9d9 author: Jan Lindström committer: Jan Lindström timestamp: 2018-11-08 13:57:59 +0200 message: Merge remote-tracking branch 'origin/10.4' into bb-10.4-galera4 .gitignore | 1 + CMakeLists.txt | 2 +- README.md | 10 +- client/CMakeLists.txt | 1 + client/mysql.cc | 6 +- client/mysqltest.cc | 2 +- cmake/cpack_rpm.cmake | 3 + cmake/libutils.cmake | 12 +- cmake/os/Windows.cmake | 5 +- cmake/plugin.cmake | 3 +- cmake/ssl.cmake | 4 +- cmake/zlib.cmake | 18 +- configure.cmake | 11 +- debian/autobake-deb.sh | 2 +- debian/rules | 1 + extra/mariabackup/backup_copy.cc | 4 +- extra/mariabackup/backup_mysql.cc | 63 +- extra/mariabackup/crc/crc-intel-pclmul.c | 2 +- extra/mariabackup/innobackupex.cc | 4 +- extra/mariabackup/xtrabackup.cc | 4 +- extra/my_print_defaults.c | 29 +- include/big_endian.h | 2 +- include/byte_order_generic.h | 2 +- include/byte_order_generic_x86.h | 2 +- include/byte_order_generic_x86_64.h | 2 +- include/little_endian.h | 2 +- include/my_bit.h | 10 +- include/my_cpu.h | 2 +- include/my_global.h | 1 - include/my_sys.h | 1 + include/my_time.h | 7 +- include/mysql/plugin_auth.h | 46 +- include/mysql/plugin_auth.h.pp | 4 + include/mysql/plugin_password_validation.h | 4 +- include/mysql/plugin_password_validation.h.pp | 4 +- include/mysql/service_kill_statement.h | 4 +- include/wsrep.h | 14 +- libmysqld/CMakeLists.txt | 2 +- man/my_print_defaults.1 | 7 +- mysql-test/dgcov.pl | 2 +- mysql-test/include/diff_tables.inc | 2 +- mysql-test/include/have_32bit.inc | 9 + mysql-test/include/have_64bit.inc | 9 + mysql-test/include/mtr_warnings.sql | 2 +- mysql-test/lib/My/Config.pm | 6 +- mysql-test/lib/v1/mysql-test-run.pl | 2 +- mysql-test/main/alter_table.result | 53 + mysql-test/main/alter_table.test | 50 + mysql-test/main/alter_user.result | 35 +- mysql-test/main/alter_user.test | 8 +- .../main/auto_increment_ranges_innodb.result | 14 + mysql-test/main/auto_increment_ranges_innodb.test | 13 + mysql-test/main/brackets.result | 24 + mysql-test/main/brackets.test | 18 + mysql-test/main/cast.result | 2 +- mysql-test/main/connect.result | 16 +- mysql-test/main/connect.test | 19 +- mysql-test/main/create_drop_user.result | 24 +- mysql-test/main/create_drop_user.test | 8 +- mysql-test/main/create_or_replace.result | 8 +- mysql-test/main/create_or_replace.test | 8 +- mysql-test/main/create_user.result | 24 +- mysql-test/main/cte_recursive.result | 159 + mysql-test/main/cte_recursive.test | 55 + mysql-test/main/ctype_latin1.result | 9 + mysql-test/main/ctype_latin1.test | 12 + mysql-test/main/ctype_uca.result | 21 + mysql-test/main/ctype_uca.test | 18 + mysql-test/main/date_formats.result | 2 +- mysql-test/main/derived_cond_pushdown.result | 15817 ++++++++++--------- mysql-test/main/derived_cond_pushdown.test | 3552 ++--- mysql-test/main/dyncol.result | 4 +- mysql-test/main/failed_auth_3909.result | 8 +- mysql-test/main/failed_auth_3909.test | 8 +- mysql-test/main/failed_auth_unixsocket.result | 11 +- mysql-test/main/failed_auth_unixsocket.test | 20 +- mysql-test/main/flush.result | 1 - mysql-test/main/flush.test | 1 - mysql-test/main/func_concat.result | 20 + mysql-test/main/func_concat.test | 22 + mysql-test/main/func_in.result | 2 +- mysql-test/main/func_sapdb.result | 2 +- mysql-test/main/func_time.result | 38 +- mysql-test/main/grant.result | 6 +- mysql-test/main/grant2.result | 89 +- mysql-test/main/grant2.test | 62 +- mysql-test/main/grant4.result | 16 +- mysql-test/main/grant5.result | 81 + mysql-test/main/grant5.test | 60 + mysql-test/main/index_merge_myisam.result | 50 + mysql-test/main/index_merge_myisam.test | 35 + mysql-test/main/init_file_set_password-7656.result | 6 +- mysql-test/main/init_file_set_password-7656.test | 2 +- mysql-test/main/join_nested_jcl6.result | 2 +- mysql-test/main/join_outer.result | 68 + mysql-test/main/join_outer.test | 60 + mysql-test/main/join_outer_jcl6.result | 68 + mysql-test/main/lock.result | 4 +- mysql-test/main/lock.test | 4 +- mysql-test/main/lock_multi.result | 12 +- mysql-test/main/lock_multi.test | 14 +- mysql-test/main/lowercase_fs_off.result | 68 + mysql-test/main/lowercase_fs_off.test | 15 + mysql-test/main/multi_update.result | 4 +- mysql-test/main/mysqld--help.result | 5 + mysql-test/main/mysqldump.test | 2 +- mysql-test/main/mysqldump_restore.result | 20 - .../main/no_password_column-mdev-11170.result | 2 +- mysql-test/main/null.result | 16 +- mysql-test/main/order_by_zerolength-4285.result | 20 + mysql-test/main/order_by_zerolength-4285.test | 14 + mysql-test/main/parser.result | 21 + mysql-test/main/parser.test | 17 + mysql-test/main/partition_explicit_prune.result | 19 + mysql-test/main/partition_explicit_prune.test | 19 + mysql-test/main/partition_pruning.result | 33 + mysql-test/main/partition_pruning.test | 31 + mysql-test/main/plugin.result | 45 + mysql-test/main/plugin.test | 40 + mysql-test/main/plugin_auth_qa.result | 32 +- mysql-test/main/plugin_auth_qa_1.result | 42 +- mysql-test/main/plugin_auth_qa_1.test | 2 +- mysql-test/main/plugin_auth_qa_2.result | 22 +- mysql-test/main/range.result | 8 +- mysql-test/main/range_mrr_icp.result | 8 +- mysql-test/main/select.result | 32 +- mysql-test/main/select_jcl6.result | 32 +- mysql-test/main/select_pkeycache.result | 32 +- mysql-test/main/set_password.result | 8 +- mysql-test/main/show_create_user.result | 4 +- mysql-test/main/show_create_user.test | 2 +- .../main/show_grants_with_plugin-7985.result | 4 +- mysql-test/main/sp-security.result | 16 +- mysql-test/main/sp-security.test | 15 +- mysql-test/main/sp_notembedded.result | 2 +- mysql-test/main/sp_notembedded.test | 2 +- mysql-test/main/sql_safe_updates.opt | 1 + mysql-test/main/sql_safe_updates.result | 3 + mysql-test/main/sql_safe_updates.test | 4 + mysql-test/main/str_to_datetime_457.result | 4 +- mysql-test/main/type_date.result | 6 +- mysql-test/main/type_datetime.result | 61 +- mysql-test/main/type_datetime.test | 24 +- mysql-test/main/type_newdecimal.result | 44 +- mysql-test/main/type_newdecimal.test | 45 +- mysql-test/main/type_temporal_innodb.result | 36 +- mysql-test/main/type_time.result | 74 + mysql-test/main/type_time.test | 42 + mysql-test/main/type_timestamp.result | 2 +- mysql-test/main/type_year.result | 18 +- mysql-test/main/type_year.test | 18 +- mysql-test/main/win.result | 401 +- mysql-test/main/win.test | 45 +- mysql-test/main/win_big.result | 12 - mysql-test/main/win_first_last_value.result | 20 +- mysql-test/main/win_percent_cume.result | 72 +- mysql-test/main/win_percent_cume.test | 6 +- mysql-test/main/win_percentile.result | 60 +- mysql-test/main/win_percentile.test | 7 + mysql-test/main/win_rank.result | 81 +- mysql-test/main/win_rank.test | 17 +- mysql-test/main/win_std.test | 4 + mysql-test/mysql-test-run.pl | 2 +- mysql-test/suite.pm | 6 +- .../r/binlog_flush_binlogs_delete_domain.result | 12 + .../t/binlog_flush_binlogs_delete_domain.test | 19 + .../suite/binlog_encryption/rpl_corruption.result | 4 - .../suite/binlog_encryption/rpl_loadfile.result | 4 - .../rpl_mixed_binlog_max_cache_size.result | 28 - .../binlog_encryption/rpl_special_charset.result | 4 - .../rpl_stm_relay_ign_space.result | 4 - .../rpl_switch_stm_row_mixed.result | 2 +- mysql-test/suite/binlog_encryption/rpl_sync.result | 8 - .../encryption/r/innodb-encryption-alter.result | 37 + .../encryption/t/innodb-encryption-alter.test | 24 + mysql-test/suite/funcs_1/r/innodb_func_view.result | 48 +- .../suite/funcs_1/r/is_user_privileges.result | 66 +- mysql-test/suite/funcs_1/r/memory_func_view.result | 48 +- mysql-test/suite/funcs_1/r/myisam_func_view.result | 48 +- mysql-test/suite/gcol/r/gcol_bug20746926.result | 8 +- .../suite/gcol/r/innodb_virtual_index.result | 32 + mysql-test/suite/gcol/t/innodb_virtual_index.test | 31 + mysql-test/suite/heap/heap_btree.result | 4 + mysql-test/suite/heap/heap_btree.test | 9 + mysql-test/suite/innodb/include/alter_nocopy.inc | 33 - .../suite/innodb/include/alter_nocopy_fail.inc | 51 - mysql-test/suite/innodb/include/alter_not_null.inc | 94 - .../innodb/include/innodb_binlog.combinations | 3 + mysql-test/suite/innodb/include/innodb_binlog.inc | 3 + .../suite/innodb/r/alter_algorithm,INPLACE.rdiff | 63 +- .../suite/innodb/r/alter_algorithm,INSTANT.rdiff | 63 +- .../suite/innodb/r/alter_algorithm,NOCOPY.rdiff | 63 +- mysql-test/suite/innodb/r/alter_algorithm.result | 54 +- .../suite/innodb/r/alter_inplace_perfschema.result | 20 + mysql-test/suite/innodb/r/alter_instant,COPY.rdiff | 61 - .../suite/innodb/r/alter_instant,INPLACE.rdiff | 11 - .../suite/innodb/r/alter_instant,INSTANT.rdiff | 11 - mysql-test/suite/innodb/r/alter_instant.result | 50 - .../innodb/r/auto_increment_dup,skip-log-bin.rdiff | 51 + .../suite/innodb/r/auto_increment_dup.result | 22 +- mysql-test/suite/innodb/r/foreign_key.result | 59 +- .../suite/innodb/r/innodb-alter-debug.result | 18 +- mysql-test/suite/innodb/r/innodb-alter.result | 140 +- mysql-test/suite/innodb/r/innodb_mysql.result | 2 +- .../suite/innodb/r/table_flags,32k,debug.rdiff | 132 + ...ags,32k.rdiff => table_flags,32k,release.rdiff} | 0 .../suite/innodb/r/table_flags,64k,debug.rdiff | 132 + ...ags,64k.rdiff => table_flags,64k,release.rdiff} | 0 mysql-test/suite/innodb/r/table_flags,debug.rdiff | 122 + mysql-test/suite/innodb/t/alter_algorithm.test | 127 +- .../suite/innodb/t/alter_inplace_perfschema.opt | 2 + .../suite/innodb/t/alter_inplace_perfschema.test | 40 + mysql-test/suite/innodb/t/alter_instant.test | 45 - mysql-test/suite/innodb/t/alter_not_null.test | 94 +- mysql-test/suite/innodb/t/auto_increment_dup.test | 40 +- mysql-test/suite/innodb/t/foreign_key.test | 94 +- mysql-test/suite/innodb/t/innodb-alter-debug.test | 25 +- mysql-test/suite/innodb/t/innodb-alter.test | 101 +- mysql-test/suite/innodb/t/table_flags.test | 5 +- .../innodb_gis/r/rtree_concurrent_srch.result | 4 +- .../suite/innodb_gis/t/rtree_concurrent_srch.test | 2 +- mysql-test/suite/maria/fulltext2.result | 86 + mysql-test/suite/maria/fulltext2.test | 77 + mysql-test/suite/plugins/r/auth_ed25519.result | 25 +- .../suite/plugins/r/simple_password_check.result | 5 +- mysql-test/suite/plugins/t/auth_ed25519.test | 9 + .../suite/plugins/t/simple_password_check.test | 6 +- .../rpl/include/rpl_lower_case_table_names.test | 141 + mysql-test/suite/rpl/include/rpl_mixed_dml.inc | 1 - mysql-test/suite/rpl/r/rpl_15919.result | 19 + mysql-test/suite/rpl/r/rpl_auto_increment.result | 16 - .../rpl/r/rpl_auto_increment_update_failure.result | 112 - mysql-test/suite/rpl/r/rpl_binlog_index.result | 4 - mysql-test/suite/rpl/r/rpl_checksum_cache.result | 24 - .../suite/rpl/r/rpl_conditional_comments.result | 12 - mysql-test/suite/rpl/r/rpl_corruption.result | 4 - mysql-test/suite/rpl/r/rpl_create_drop_user.result | 44 +- mysql-test/suite/rpl/r/rpl_current_user.result | 78 - mysql-test/suite/rpl/r/rpl_do_grant.result | 1 + mysql-test/suite/rpl/r/rpl_innodb_mixed_dml.result | 15 +- mysql-test/suite/rpl/r/rpl_insert_ignore.result | 8 - .../rpl/r/rpl_lcase_tblnames_rewrite_db.result | 38 + mysql-test/suite/rpl/r/rpl_loaddata.result | 4 - mysql-test/suite/rpl/r/rpl_loadfile.result | 4 - .../suite/rpl/r/rpl_lost_events_on_rotate.result | 4 - .../rpl/r/rpl_mixed_binlog_max_cache_size.result | 28 - .../rpl/r/rpl_mixed_implicit_commit_binlog.result | 4 - .../rpl/r/rpl_nondeterministic_functions.result | 4 - mysql-test/suite/rpl/r/rpl_not_null_innodb.result | 16 - mysql-test/suite/rpl/r/rpl_not_null_myisam.result | 16 - mysql-test/suite/rpl/r/rpl_old_master.result | 3 + mysql-test/suite/rpl/r/rpl_reset_slave_fail.result | 4 - .../suite/rpl/r/rpl_row_basic_2myisam.result | 32 - .../suite/rpl/r/rpl_row_basic_3innodb.result | 32 - mysql-test/suite/rpl/r/rpl_row_find_row.result | 4 - mysql-test/suite/rpl/r/rpl_row_img_blobs.result | 2016 --- mysql-test/suite/rpl/r/rpl_row_img_eng_min.result | 1152 -- .../suite/rpl/r/rpl_row_img_eng_noblob.result | 1152 -- .../rpl/r/rpl_row_implicit_commit_binlog.result | 4 - .../suite/rpl/r/rpl_row_lcase_tblnames.result | 60 + .../suite/rpl/r/rpl_row_loaddata_concurrent.result | 4 - mysql-test/suite/rpl/r/rpl_row_merge_engine.result | 16 - .../suite/rpl/r/rpl_row_rec_comp_innodb.result | 12 - .../suite/rpl/r/rpl_row_rec_comp_myisam.result | 16 - mysql-test/suite/rpl/r/rpl_row_tbl_metadata.result | 44 - mysql-test/suite/rpl/r/rpl_row_utf16.result | 4 - mysql-test/suite/rpl/r/rpl_set_null_innodb.result | 16 - mysql-test/suite/rpl/r/rpl_set_null_myisam.result | 16 - mysql-test/suite/rpl/r/rpl_slave_load_in.result | 8 - mysql-test/suite/rpl/r/rpl_special_charset.result | 4 - .../rpl/r/rpl_stm_binlog_max_cache_size.result | 28 - .../rpl/r/rpl_stm_implicit_commit_binlog.result | 4 - .../suite/rpl/r/rpl_stm_lcase_tblnames.result | 57 + .../suite/rpl/r/rpl_stm_loaddata_concurrent.result | 4 - .../suite/rpl/r/rpl_stm_mixing_engines.result | 4 - .../suite/rpl/r/rpl_stm_relay_ign_space.result | 4 - .../suite/rpl/r/rpl_stm_user_variables.result | 4 - mysql-test/suite/rpl/r/rpl_stop_slave.result | 8 - .../suite/rpl/r/rpl_switch_stm_row_mixed.result | 2 +- mysql-test/suite/rpl/r/rpl_sync.result | 8 - .../suite/rpl/r/rpl_temp_table_mix_row.result | 4 - mysql-test/suite/rpl/r/rpl_test_framework.result | 126 - mysql-test/suite/rpl/r/rpl_trigger.result | 8 - mysql-test/suite/rpl/r/rpl_truncate_2myisam.result | 16 - mysql-test/suite/rpl/r/rpl_truncate_3innodb.result | 16 - mysql-test/suite/rpl/r/rpl_typeconv_innodb.result | 4 - .../suite/rpl/r/rpl_unsafe_statements.result | 24 - mysql-test/suite/rpl/r/rpl_variables.result | 20 - mysql-test/suite/rpl/r/rpl_variables_stm.result | 20 - mysql-test/suite/rpl/t/rpl_15919-slave.opt | 1 + mysql-test/suite/rpl/t/rpl_15919.test | 18 + mysql-test/suite/rpl/t/rpl_create_drop_user.test | 18 +- mysql-test/suite/rpl/t/rpl_do_grant.test | 1 + .../rpl/t/rpl_lcase_tblnames_rewrite_db-slave.opt | 1 + .../suite/rpl/t/rpl_lcase_tblnames_rewrite_db.test | 60 + mysql-test/suite/rpl/t/rpl_old_master.test | 8 + .../suite/rpl/t/rpl_row_lcase_tblnames-slave.opt | 1 + mysql-test/suite/rpl/t/rpl_row_lcase_tblnames.test | 12 + .../suite/rpl/t/rpl_stm_lcase_tblnames-slave.opt | 1 + mysql-test/suite/rpl/t/rpl_stm_lcase_tblnames.test | 12 + mysql-test/suite/sql_sequence/create.result | 9 + mysql-test/suite/sql_sequence/create.test | 11 + .../sys_vars/r/delayed_insert_limit_func.result | 4 +- .../r/innodb_ft_result_cache_limit_32.result | 7 + .../r/innodb_ft_result_cache_limit_64.result | 5 + .../innodb_ft_result_cache_limit_basic,32bit.rdiff | 13 + .../r/innodb_ft_result_cache_limit_basic.result | 7 +- .../r/sql_low_priority_updates_func.result | 4 +- .../suite/sys_vars/r/sysvars_innodb,32bit.rdiff | 118 +- mysql-test/suite/sys_vars/r/sysvars_innodb.result | 2 +- .../sys_vars/r/sysvars_server_notembedded.result | 2 +- .../suite/sys_vars/r/thread_pool_size_high.result | 1 + .../sys_vars/t/delayed_insert_limit_func.test | 20 +- .../t/innodb_ft_result_cache_limit_32.test | 9 + .../t/innodb_ft_result_cache_limit_64.test | 9 + .../t/innodb_ft_result_cache_limit_basic.test | 5 +- .../sys_vars/t/sql_low_priority_updates_func.test | 4 +- .../suite/sys_vars/t/thread_pool_size_high.test | 1 + mysql-test/suite/vcol/r/races.result | 16 + mysql-test/suite/vcol/r/wrong_arena.result | 28 +- mysql-test/suite/vcol/t/races.test | 22 + mysql-test/suite/versioning/innodb.combinations | 5 + mysql-test/suite/versioning/innodb.inc | 1 + mysql-test/suite/versioning/r/alter.result | 2 +- mysql-test/suite/versioning/r/online.result | 131 +- mysql-test/suite/versioning/r/partition.result | 8 +- .../trx_id_versioning_attribute_persistence.result | 86 - mysql-test/suite/versioning/t/online.test | 145 +- .../t/trx_id_versioning_attribute_persistence.test | 87 - mysys/CMakeLists.txt | 1 + mysys/mf_iocache.c | 20 +- mysys/mf_iocache2.c | 4 +- mysys/my_alloc.c | 11 + mysys/my_pread.c | 26 +- mysys/ptr_cmp.c | 7 + plugin/auth_ed25519/ed25519-t.c | 2 +- plugin/auth_ed25519/server_ed25519.c | 47 +- plugin/auth_examples/dialog_examples.c | 6 +- plugin/auth_examples/qa_auth_interface.c | 3 +- plugin/auth_examples/qa_auth_server.c | 3 +- plugin/auth_examples/test_plugin.c | 6 +- .../auth_gssapi/mysql-test/auth_gssapi/basic.test | 1 + plugin/auth_gssapi/sspi_server.cc | 9 +- plugin/auth_pam/auth_pam_common.c | 3 +- plugin/auth_socket/auth_socket.c | 3 +- .../cracklib_password_check.c | 3 +- .../simple_password_check/simple_password_check.c | 4 +- plugin/user_variables/user_variables.cc | 2 +- scripts/mysql_system_tables_fix.sql | 11 +- sql-common/my_time.c | 16 +- sql/CMakeLists.txt | 4 +- sql/compat56.cc | 3 + sql/events.cc | 20 +- sql/field.cc | 17 +- sql/field.h | 8 +- sql/field_conv.cc | 2 +- sql/ha_partition.cc | 9 +- sql/ha_partition.h | 5 +- sql/handler.cc | 2 +- sql/handler.h | 51 +- sql/item.cc | 59 +- sql/item.h | 43 +- sql/item_cmpfunc.cc | 15 +- sql/item_func.cc | 35 - sql/item_func.h | 47 +- sql/item_subselect.cc | 3 +- sql/item_sum.cc | 24 +- sql/item_sum.h | 6 +- sql/item_timefunc.cc | 6 +- sql/item_timefunc.h | 2 +- sql/lock.cc | 16 - sql/lock.h | 1 - sql/log_event.cc | 49 +- sql/my_decimal.h | 2 - sql/mysql_install_db.cc | 88 +- sql/mysqld.cc | 12 + sql/opt_range.cc | 6 + sql/procedure.h | 2 +- sql/rpl_gtid.cc | 6 +- sql/share/errmsg-utf8.txt | 2 +- sql/slave.cc | 13 + sql/sql_acl.cc | 1436 +- sql/sql_admin.cc | 9 + sql/sql_alter.cc | 7 +- sql/sql_alter.h | 2 +- sql/sql_base.cc | 6 +- sql/sql_class.cc | 8 + sql/sql_const.h | 2 +- sql/sql_cte.cc | 2 +- sql/sql_delete.cc | 2 +- sql/sql_error.h | 55 +- sql/sql_get_diagnostics.cc | 2 +- sql/sql_get_diagnostics.h | 2 +- sql/sql_insert.cc | 3 +- sql/sql_lex.cc | 9 +- sql/sql_lex.h | 6 +- sql/sql_parse.cc | 10 +- sql/sql_partition.cc | 2 +- sql/sql_partition_admin.cc | 4 +- sql/sql_plugin.cc | 73 +- sql/sql_prepare.cc | 2 +- sql/sql_select.cc | 201 +- sql/sql_select.h | 8 +- sql/sql_table.cc | 18 +- sql/sql_time.cc | 83 +- sql/sql_trigger.cc | 18 +- sql/sql_type.cc | 210 +- sql/sql_type.h | 321 +- sql/sql_type_int.h | 50 +- sql/sql_update.cc | 2 +- sql/sql_view.cc | 12 +- sql/sql_window.cc | 17 +- sql/sql_window.h | 4 +- sql/sql_yacc.yy | 61 +- sql/sql_yacc_ora.yy | 38 +- sql/structs.h | 7 +- sql/sys_vars.cc | 2 +- sql/table.cc | 20 +- sql/table.h | 4 +- sql/wsrep_mysqld.cc | 5 +- storage/connect/CMakeLists.txt | 9 + storage/connect/connect.cc | 2 +- storage/connect/global.h | 4 +- storage/connect/ha_connect.cc | 104 +- storage/connect/ha_connect.h | 6 +- storage/connect/mysql-test/connect/disabled.def | 23 +- .../connect/mysql-test/connect/r/mysql_exec.result | 6 + .../mysql-test/connect/r/odbc_postgresql.result | 18 +- storage/connect/odbconn.cpp | 10 +- storage/connect/tabext.cpp | 6 + storage/connect/tabjdbc.cpp | 9 +- storage/connect/tabmysql.cpp | 11 +- storage/connect/tabodbc.cpp | 13 +- storage/heap/hp_create.c | 22 +- storage/innobase/btr/btr0btr.cc | 6 +- storage/innobase/btr/btr0cur.cc | 2 +- storage/innobase/btr/btr0sea.cc | 2 +- storage/innobase/buf/buf0buf.cc | 57 +- storage/innobase/buf/buf0dblwr.cc | 2 +- storage/innobase/buf/buf0flu.cc | 4 +- storage/innobase/buf/buf0lru.cc | 3 +- storage/innobase/buf/buf0rea.cc | 10 +- storage/innobase/dict/dict0crea.cc | 15 + storage/innobase/dict/dict0dict.cc | 8 +- storage/innobase/dict/dict0mem.cc | 4 +- storage/innobase/fil/fil0fil.cc | 27 +- storage/innobase/fsp/fsp0fsp.cc | 32 +- storage/innobase/fts/fts0fts.cc | 2 +- storage/innobase/fts/fts0que.cc | 2 +- storage/innobase/gis/gis0sea.cc | 5 +- storage/innobase/handler/ha_innodb.cc | 54 +- storage/innobase/handler/ha_innodb.h | 10 +- storage/innobase/handler/handler0alter.cc | 92 +- storage/innobase/ibuf/ibuf0ibuf.cc | 28 +- storage/innobase/include/btr0btr.h | 8 +- storage/innobase/include/btr0btr.ic | 4 +- storage/innobase/include/btr0cur.h | 2 +- storage/innobase/include/btr0sea.h | 2 +- storage/innobase/include/buf0buf.h | 114 +- storage/innobase/include/buf0buf.ic | 26 +- storage/innobase/include/buf0rea.h | 8 +- storage/innobase/include/fil0fil.h | 62 +- storage/innobase/include/fsp0fsp.h | 40 +- storage/innobase/include/fsp0fsp.ic | 2 +- storage/innobase/include/fts0fts.h | 2 +- storage/innobase/include/fts0types.h | 4 +- storage/innobase/include/ha_prototypes.h | 3 + storage/innobase/include/ibuf0ibuf.h | 12 +- storage/innobase/include/ibuf0ibuf.ic | 2 +- storage/innobase/include/mtr0mtr.h | 28 +- storage/innobase/include/page0page.h | 2 +- storage/innobase/include/trx0rec.h | 3 +- storage/innobase/include/trx0sys.h | 4 +- storage/innobase/include/trx0undo.h | 4 +- storage/innobase/include/trx0undo.ic | 4 +- storage/innobase/include/univ.i | 2 +- storage/innobase/log/log0recv.cc | 5 +- storage/innobase/mtr/mtr0mtr.cc | 27 +- storage/innobase/page/page0page.cc | 2 +- storage/innobase/que/que0que.cc | 3 +- storage/innobase/row/row0import.cc | 5 +- storage/innobase/row/row0ins.cc | 63 +- storage/innobase/row/row0merge.cc | 20 +- storage/innobase/row/row0mysql.cc | 196 +- storage/innobase/row/row0row.cc | 4 +- storage/innobase/row/row0upd.cc | 2 + storage/innobase/srv/srv0start.cc | 8 +- storage/innobase/trx/trx0purge.cc | 2 +- storage/innobase/trx/trx0rec.cc | 3 +- storage/innobase/trx/trx0trx.cc | 7 +- storage/maria/ma_check.c | 5 +- storage/maria/ma_ft_boolean_search.c | 2 +- storage/maria/ma_write.c | 15 +- storage/mroonga/ha_mroonga.cpp | 9 +- storage/mroonga/ha_mroonga.hpp | 2 +- .../mroonga/lib/mrn_multiple_column_key_codec.cpp | 4 +- .../mysql-test/storage_engine/disabled.def | 1 + storage/perfschema/unittest/pfs-t.cc | 5 +- storage/rocksdb/event_listener.cc | 2 +- storage/rocksdb/event_listener.h | 2 +- storage/rocksdb/ha_rocksdb.cc | 12 +- storage/rocksdb/ha_rocksdb.h | 2 +- storage/rocksdb/ha_rocksdb_proto.h | 2 +- storage/rocksdb/logger.h | 2 +- .../mysql-test/rocksdb/r/rocksdb_range2.result | 17 + storage/rocksdb/mysql-test/rocksdb/t/disabled.def | 1 + .../mysql-test/rocksdb/t/rocksdb_range2.test | 12 + storage/rocksdb/properties_collector.cc | 2 +- storage/rocksdb/properties_collector.h | 2 +- storage/rocksdb/rdb_buff.h | 2 +- storage/rocksdb/rdb_cf_manager.cc | 2 +- storage/rocksdb/rdb_cf_manager.h | 2 +- storage/rocksdb/rdb_cf_options.cc | 2 +- storage/rocksdb/rdb_cf_options.h | 2 +- storage/rocksdb/rdb_compact_filter.h | 2 +- storage/rocksdb/rdb_comparator.h | 2 +- storage/rocksdb/rdb_datadic.cc | 2 +- storage/rocksdb/rdb_datadic.h | 2 +- storage/rocksdb/rdb_i_s.cc | 2 +- storage/rocksdb/rdb_i_s.h | 2 +- storage/rocksdb/rdb_index_merge.cc | 2 +- storage/rocksdb/rdb_index_merge.h | 2 +- storage/rocksdb/rdb_io_watchdog.cc | 2 +- storage/rocksdb/rdb_io_watchdog.h | 2 +- storage/rocksdb/rdb_mutex_wrapper.cc | 2 +- storage/rocksdb/rdb_mutex_wrapper.h | 2 +- storage/rocksdb/rdb_perf_context.cc | 2 +- storage/rocksdb/rdb_perf_context.h | 2 +- storage/rocksdb/rdb_sst_info.cc | 2 +- storage/rocksdb/rdb_sst_info.h | 2 +- storage/rocksdb/rdb_threads.cc | 2 +- storage/rocksdb/rdb_threads.h | 2 +- storage/rocksdb/rdb_utils.cc | 2 +- storage/rocksdb/rdb_utils.h | 2 +- .../rocksdb/unittest/test_properties_collector.cc | 2 +- .../mysql-test/spider/r/show_system_tables.result | 20 +- .../mysql-test/spider/t/show_system_tables.test | 7 +- .../mysql-test/rpl/r/rpl_not_null_tokudb.result | 16 - .../rpl/r/rpl_parallel_tokudb_delete_pk.result | 8 - ...pl_parallel_tokudb_update_pk_uc0_lookup0.result | 8 - .../rpl/r/rpl_parallel_tokudb_write_pk.result | 4 - .../mysql-test/rpl/r/rpl_row_basic_3tokudb.result | 32 - .../rpl/r/rpl_row_rec_comp_tokudb.result | 12 - .../mysql-test/rpl/r/rpl_set_null_tokudb.result | 16 - .../mysql-test/rpl/r/rpl_tokudb_mixed_dml.result | 15 +- .../mysql-test/rpl/r/rpl_truncate_3tokudb.result | 16 - .../mysql-test/rpl/r/rpl_typeconv_tokudb.result | 4 - .../mysql-test/rpl/r/rpl_xa_interleave.result | 4 - .../mysql-test/rpl/r/tokudb_innodb_xa_crash.result | 8 - .../tokudb/r/change_column_bin_descriptor.result | 4 - .../tokudb/r/change_column_bin_rename.result | 64 - .../tokudb/r/change_column_blob_data.result | 72 - .../tokudb/r/change_column_char_descriptor.result | 4 - .../tokudb/r/change_column_char_rename.result | 64 - .../mysql-test/tokudb/r/change_column_int.result | 120 - .../tokudb/r/change_column_int_descriptor.result | 4 - .../tokudb/r/change_column_int_rename.result | 40 - .../tokudb/r/change_column_text_data.result | 72 - .../r/change_column_varbin_descriptor.result | 4 - .../r/change_column_varchar_descriptor.result | 4 - .../mysql-test/tokudb/r/type_datetime.result | 8 +- .../tokudb_alter_table/r/hcad_all_add.result | 1736 -- .../tokudb_alter_table/r/hcad_all_add2.result | 1736 -- .../tokudb_alter_table/r/hcad_all_add3.result | 1736 -- .../tokudb_alter_table/r/hcad_all_blob_add.result | 1736 -- .../tokudb_alter_table/r/hcad_all_blob_drop.result | 160 - .../tokudb_alter_table/r/hcad_all_drop.result | 1232 -- .../tokudb_alter_table/r/hcad_all_fixed_add.result | 1736 -- .../r/hcad_all_fixed_drop.result | 160 - .../tokudb_alter_table/r/hcad_all_var_add.result | 1736 -- .../tokudb_alter_table/r/hcad_all_var_drop.result | 160 - .../tokudb_alter_table/r/hcad_clustering.result | 32 - .../tokudb_alter_table/r/hcad_clustering2.result | 32 - .../r/hcad_diff_num_offset_bytes.result | 84 - .../tokudb_alter_table/r/hcad_fixedblob_add.result | 1736 -- .../r/hcad_fixedblob_add2.result | 1736 -- .../r/hcad_fixedblob_drop.result | 560 - .../tokudb_alter_table/r/hcad_fixedvar_add.result | 1736 -- .../tokudb_alter_table/r/hcad_fixedvar_add2.result | 1736 -- .../tokudb_alter_table/r/hcad_fixedvar_drop.result | 560 - .../tokudb_alter_table/r/hcad_null_bits.result | 68 - .../mysql-test/tokudb_alter_table/r/hcad_pk.result | 32 - .../tokudb_alter_table/r/hcad_pk2.result | 32 - .../tokudb_alter_table/r/hcad_varblob_add.result | 1736 -- .../tokudb_alter_table/r/hcad_varblob_add2.result | 1736 -- .../tokudb_alter_table/r/hcad_varblob_drop.result | 560 - .../tokudb_alter_table/r/other_alter2.result | 72 - .../tokudb_bugs/r/alter_part_tokudb_bug_155.result | 4 - .../tokudb/mysql-test/tokudb_bugs/r/db743.result | 4 - .../mysql-test/tokudb_bugs/r/mdev5932.result | 4 - strings/ctype-simple.c | 4 +- strings/ctype-uca.c | 116 +- strings/ctype-uca.ic | 39 + strings/ctype-utf8.c | 46 +- strings/decimal.c | 35 +- support-files/mysql.server.sh | 31 +- unittest/sql/mf_iocache-t.cc | 88 +- vio/viossl.c | 10 +- zlib/CMakeLists.txt | 156 +- zlib/ChangeLog | 666 +- zlib/FAQ | 267 +- zlib/INDEX | 41 +- zlib/README | 94 +- zlib/README.MySQL | 16 - zlib/adler32.c | 113 +- zlib/algorithm.txt | 209 - zlib/amiga/Makefile.pup | 69 + zlib/amiga/Makefile.sas | 68 + zlib/compress.c | 45 +- zlib/crc32.c | 149 +- zlib/crc32.h | 2 +- zlib/deflate.c | 1269 +- zlib/deflate.h | 78 +- zlib/gzclose.c | 25 + zlib/gzguts.h | 218 + zlib/gzio.c | 1031 -- zlib/gzlib.c | 637 + zlib/gzread.c | 654 + zlib/gzwrite.c | 665 + zlib/infback.c | 107 +- zlib/inffast.c | 159 +- zlib/inffast.h | 4 +- zlib/inffixed.h | 6 +- zlib/inflate.c | 507 +- zlib/inflate.h | 38 +- zlib/inftrees.c | 109 +- zlib/inftrees.h | 27 +- zlib/make_vms.com | 867 + zlib/msdos/Makefile.bor | 115 + zlib/msdos/Makefile.dj2 | 104 + zlib/msdos/Makefile.emx | 69 + zlib/msdos/Makefile.msc | 112 + zlib/msdos/Makefile.tc | 100 + zlib/nintendods/README | 5 + zlib/old/Makefile.emx | 69 + zlib/old/Makefile.riscos | 151 + zlib/old/README | 3 + zlib/old/descrip.mms | 48 + zlib/old/os2/Makefile.os2 | 136 + zlib/old/os2/zlib.def | 51 + zlib/old/visual-basic.txt | 160 + zlib/os400/README400 | 48 + zlib/os400/bndsrc | 119 + zlib/os400/make.sh | 366 + zlib/os400/zlib.inc | 527 + zlib/qnx/package.qpg | 141 + zlib/test/example.c | 602 + zlib/test/infcover.c | 671 + zlib/test/minigzip.c | 651 + zlib/treebuild.xml | 116 + zlib/trees.c | 246 +- zlib/trees.h | 4 +- zlib/uncompr.c | 100 +- zlib/watcom/watcom_f.mak | 43 + zlib/watcom/watcom_l.mak | 43 + zlib/win32/DLL_FAQ.txt | 397 + zlib/win32/Makefile.bor | 110 + zlib/win32/Makefile.gcc | 182 + zlib/win32/Makefile.msc | 163 + zlib/win32/README-WIN32.txt | 103 + zlib/win32/VisualC.txt | 3 + zlib/win32/zlib.def | 94 + zlib/win32/zlib1.rc | 40 + zlib/zconf.h.cmakein | 536 + zlib/{zconf.h => zconf.h.in} | 324 +- zlib/zlib.3 | 122 +- zlib/zlib.h | 1639 +- zlib/zlib.pc.cmakein | 13 + zlib/zlib.pc.in | 13 + zlib/zlib2ansi | 152 + zlib/zutil.c | 101 +- zlib/zutil.h | 192 +- 672 files changed, 31897 insertions(+), 47669 deletions(-) diff --cc include/wsrep.h index abe3bcc7b8c,f7a9b6b0231..ce085ababb4 --- a/include/wsrep.h +++ b/include/wsrep.h @@@ -25,18 -25,15 +25,18 @@@ #define WSREP_MYSQL_DB (char *)"mysql" #define WSREP_TO_ISOLATION_BEGIN(db_, table_, table_list_) \ if (WSREP_ON && WSREP(thd) && wsrep_to_isolation_begin(thd, db_, table_, table_list_)) \ - goto error; + goto wsrep_error_label; #define WSREP_TO_ISOLATION_BEGIN_ALTER(db_, table_, table_list_, alter_info_) \ - if (WSREP_ON && WSREP(thd) && wsrep_to_isolation_begin(thd, db_, table_, \ - table_list_, alter_info_)) \ + if (WSREP_ON && WSREP(thd) && wsrep_thd_is_local(thd) && \ + wsrep_to_isolation_begin(thd, db_, table_, \ + table_list_, alter_info_)) \ - goto error; + goto wsrep_error_label; -#define WSREP_TO_ISOLATION_END \ - if (WSREP_ON && (WSREP(thd) || (thd && thd->wsrep_exec_mode==TOTAL_ORDER))) \ +#define WSREP_TO_ISOLATION_END \ + if (WSREP_ON && WSREP(thd) && \ + (wsrep_thd_is_local_toi(thd) || \ + wsrep_thd_is_in_rsu(thd))) \ wsrep_to_isolation_end(thd); /* @@@ -45,38 -42,31 +45,38 @@@ */ #define WSREP_TO_ISOLATION_BEGIN_WRTCHK(db_, table_, table_list_) \ if (WSREP(thd) && !thd->lex->no_write_to_binlog \ - && wsrep_to_isolation_begin(thd, db_, table_, table_list_)) goto error; + && wsrep_to_isolation_begin(thd, db_, table_, table_list_)) goto wsrep_error_label; +#define WSREP_SYNC_WAIT(thd_, before_) \ + { if (WSREP_CLIENT(thd_) && \ + wsrep_sync_wait(thd_, before_)) goto error; } + + #define WSREP_DEBUG(...) \ if (wsrep_debug) WSREP_LOG(sql_print_information, ##__VA_ARGS__) #define WSREP_INFO(...) WSREP_LOG(sql_print_information, ##__VA_ARGS__) #define WSREP_WARN(...) WSREP_LOG(sql_print_warning, ##__VA_ARGS__) #define WSREP_ERROR(...) WSREP_LOG(sql_print_error, ##__VA_ARGS__) - #define WSREP_SYNC_WAIT(thd_, before_) \ - { if (WSREP_CLIENT(thd_) && \ - wsrep_sync_wait(thd_, before_)) goto error; } + #define WSREP_SYNC_WAIT(thd_, before_) \ + { if (WSREP_CLIENT(thd_) && \ + wsrep_sync_wait(thd_, before_)) goto wsrep_error_label; } -#else +#else /* !WITH_WSREP */ + +/* These macros are needed to compile MariaDB without WSREP support + * (e.g. embedded) */ + #define IF_WSREP(A,B) B -#define DBUG_ASSERT_IF_WSREP(A) +//#define DBUG_ASSERT_IF_WSREP(A) #define WSREP_DEBUG(...) -#define WSREP_INFO(...) -#define WSREP_WARN(...) +//#define WSREP_INFO(...) +//#define WSREP_WARN(...) #define WSREP_ERROR(...) - #define WSREP_TO_ISOLATION_BEGIN(db_, table_, table_list_) + #define WSREP_TO_ISOLATION_BEGIN(db_, table_, table_list_) do { } while(0) -#define WSREP_TO_ISOLATION_BEGIN_ALTER(db_, table_, table_list_, alter_info_) -#define WSREP_TO_ISOLATION_END +//#define WSREP_TO_ISOLATION_END #define WSREP_TO_ISOLATION_BEGIN_WRTCHK(db_, table_, table_list_) #define WSREP_SYNC_WAIT(thd_, before_) - #endif /* WITH_WSREP */ #endif /* WSREP_INCLUDED */ diff --cc sql/sql_base.cc index 61976aabe2e,fc8a20404a3..acb56e4ed61 --- a/sql/sql_base.cc +++ b/sql/sql_base.cc @@@ -4307,14 -4293,13 +4307,17 @@@ restart thd->lex->sql_command == SQLCOM_LOAD || thd->lex->sql_command == SQLCOM_DELETE))) { - WSREP_TO_ISOLATION_BEGIN(NULL, NULL, (*start)); + wsrep_before_rollback(thd, true); + wsrep_after_rollback(thd, true); + wsrep_after_statement(thd); + WSREP_TO_ISOLATION_BEGIN(NULL, NULL, (*start)); } +#endif /* WITH_WSREP */ error: + #ifdef WITH_WSREP + wsrep_error_label: + #endif THD_STAGE_INFO(thd, stage_after_opening_tables); thd_proc_info(thd, 0); diff --cc sql/sql_parse.cc index ea24b2e74a3,1f9cd305847..cde1af33d82 --- a/sql/sql_parse.cc +++ b/sql/sql_parse.cc @@@ -109,13 -109,11 +109,14 @@@ #include "../storage/maria/ha_maria.h" #endif + #include "wsrep.h" #include "wsrep_mysqld.h" +#ifdef WITH_WSREP +#include "mysql/service_wsrep.h" #include "wsrep_thd.h" +#include "wsrep_trans_observer.h" /* wsrep transaction hooks */ -static void wsrep_mysql_parse(THD *thd, char *rawbuf, uint length, +static bool wsrep_mysql_parse(THD *thd, char *rawbuf, uint length, Parser_state *parser_state, bool is_com_multi, bool is_next_command); diff --cc sql/wsrep_mysqld.cc index 1d909fdce75,bc52bff0de9..507293186b5 --- a/sql/wsrep_mysqld.cc +++ b/sql/wsrep_mysqld.cc @@@ -2953,13 -2730,15 +2953,14 @@@ bool wsrep_create_like_table(THD* thd, } return(false); - - error: + #ifdef WITH_WSREP + wsrep_error_label: thd->wsrep_TOI_pre_query= NULL; return (true); + #endif } - -static int wsrep_create_trigger_query(THD *thd, uchar** buf, size_t* buf_len) +int wsrep_create_trigger_query(THD *thd, uchar** buf, size_t* buf_len) { LEX *lex= thd->lex; String stmt_query;
participants (1)
-
jan